UK postcodes
Contents |
UK Postcode Regex PHP
(([A-PR-UW-Z]{1}[A-IK-Y]?)([0-9]?[A-HJKS-UW]?[ABEHMNPRVWXY]?|[0-9]?[0-9]?))\s?([0-9]{1}[ABD-HJLNP-UW-Z]{2})
Example of how to validate UK Postal code with Regular Expression
<?php
$pc = "RG9 2BG"; # POSTCODE
preg_match("/^(([A-PR-UW-Z]{1}[A-IK-Y]?)([0-9]?[A-HJKS-UW]?[ABEHMNPRVWXY]?|[0-9]?[0-9]?))\s?([0-9]{1}[ABD-HJLNP-UW-Z]{2})$/i",strtoupper($pc),$postcode);
print_r($postcode,true);
?>
Output
Array ( [0] => RG9 2AR [1] => RG9 [2] => RG [3] => 9 [4] => 2AR )
UK postcode Format
| Format | Example Postcode |
| AN NAA | M1 1AA |
| ANN NAA | M60 1NW |
| AAN NAA | CR2 6XH |
| AANN NAA | DN55 1PT |
| ANA NAA | W1A 1HQ |
| AANA NAA | EC1A 1BB |
Rules
- The letters Q, V and X are not used in the first position.
- The letters I, J and Z are not used in the second position.
- The only letters to appear in the third position are A, B, C, D, E, F, G, H, J, K, S, T, U and W.
- The only letters to appear in the fourth position are A, B, E, H, M, N, P, R, V, W, X and Y.
- The second half of the Postcode is always consistent numeric, alpha, alpha format and the letters
- C, I, K, M, O and V are never used.
- GIR 0AA is a Postcode that was issued historically and does not confirm to current rules on valid postcode formats; it is however, still in use.
- These conventions may change in the future if operationally required.
Postcode areas
| Post Code | Post Town | Local Area | Region |
|---|---|---|---|
| AB | Aberdeen | Grampian | Scotland |
| AL | St. Albans | London | South East |
| B | Birmingham | Birmingham | Midlands |
| BA | Bath | Avon | South West |
| BB | Blackburn | Lancashire | North West |
| BD | Bradford | West Yorkshire | North East |
| BH | Bournemouth | Dorset | South West |
| BL | Bolton | Greater Manchester | North West |
| BN | Brighton | Brighton and Hove | South East |
| BR | Bromley | Greater London | South East |
| BS | Bristol | Bristol | South West |
| BT | Belfast | Northern Ireland | Northern Ireland |
| CA | Carlisle | Cumbria | North West |
| CB | Cambridge | Cambridge | East Anglia |
| CF | Cardiff | South Glamorgan | Wales |
| CH | Chester | Cheshire | North West |
| CM | Chelmsford | Essex | East Anglia |
| CO | Colchester | Essex | East Anglia |
| CR | Croydon | Surrey | South East |
| CT | Canterbury | Kent | South East |
| CV | Coventry | West Midlands | Midlands |
| CW | Crewe | Cheshire | North West |
| DA | Dartford | Kent | South East |
| DD | Dundee | Tayside | Scotland |
| DE | Derby | Derbyshire | Midlands |
| DG | Dumfries | Dumfries and Galloway | Scotland |
| DH | Durham | County Durham | North East |
| DL | Darlington | Durham | North East |
| DN | Doncaster | South Yorkshire | North East |
| DT | Dorchester | Dorset | South West |
| DY | Dudley | West Midlands | Midlands |
| E | London East | London | South East |
| EC | London East Central | London | South East |
| EH | Edinburgh | Scotland | Scotland |
| EN | Enfield | London | South East |
| EX | Exeter | Devon | South West |
| FK | Falkirk | Central | Scotland |
| FY | Fylde (Blackpool) | Lancashire | North West |
| G | Glasgow | Scotland | Scotland |
| GL | Gloucester | Gloucestershire | South West |
| GU | Guildford | Surrey | South East |
| GY | Guernsey & Alderney | Channel Islands | |
| HA | Harrow | London | South East |
| HD | Huddersfield | West Yorkshire | North West |
| HG | Harrogate | North Yorkshire | North East |
| HP | Hemel Hempstead | Hertfordshire | South East |
| HR | Hereford | Hereford and Worcester | Midlands |
| HS | HEBRIDES | OUTER HEBRIDES | Scotland |
| HU | Hull | Humberside | North East |
| HX | Halifax | West Yorkshire | North West |
| IG | Ilford | London | South East |
| IM | Isle of Man | Isle of Man | North West |
| IP | Ipswich | Suffolk | East Anglia |
| IV | Inverness | Highland | Scotland |
| JE | Jersey | Channel Islands | |
| KA | Kilmarnock | Strathclyde | Scotland |
| KT | Kingston Upon Thames | London | South East |
| KW | Kirkwall | Orkney | Orkney |
| KY | Kirkcaldy | Fife | Scotland |
| L | Liverpool | Merseyside | North West |
| LA | Lancaster | Lancashire | North East |
| LD | Llandrindod Wells | Powys | Wales |
| LE | Leicester | Leicestershire | Midlands |
| LL | Llandudno | Clwyd | Wales |
| LN | Lincoln | Lincolnshire | Midlands |
| LS | Leeds | West Yorkshire | North West |
| LU | Luton | Bedfordshire | South East |
| M | Manchester | Greater Manchester | North West |
| ME | Medway (Rochester) | Kent | South East |
| MK | Milton Keynes | Buckinghamshire | South East |
| ML | Motherwell | Strathclyde | Scotland |
| N | London North | Greater London | South East |
| NE | Newcastle on Tyne | Tyne and Wear | North East |
| NG | Nottingham | Nottingham | Midlands |
| NN | Northampton | Hereford and Worcester | Midlands |
| NP | Newport | Gwent | Wales |
| NR | Norwich | Norfolk | East Anglia |
| NW | London North West | London | South East |
| OL | Oldham | Manchester | Midlands |
| OX | Oxford | Oxon | South East |
| PA | Paisley | Strathclyde | Scotland |
| PE | Peterborough | Cambridgeshire | East Anglia |
| PH | Perth | Tayside | Scotland |
| PL | Plymouth | Devon | South West |
| PO | Portsmouth | Hampshire | South West |
| PR | Preston | Lancs | North West |
| RG | Reading | Berkshire | South East |
| RH | RedHill | Sussex | South East |
| RM | Romford | London | South East |
| S | Sheffield | South Yorkshire | North East |
| SA | Swansea | West Glamorgan | Wales |
| SE | London South East | London | South East |
| SG | Stevenage | Herfordshire | South East |
| SK | Stockport | Manchester | Midlands |
| SL | Slough | Berkshire | South East |
| SM | Sutton | London | South East |
| SN | Swindon | Wiltshire | South West |
| SO | Southampton | Hants | South East |
| SP | Salisbury | Wiltshire | South West |
| SR | Sunderland | Tyne and Wear | North East |
| SS | Southend on Sea | Essex | South East |
| ST | Stoke On Trent | Staffordshire | Midlands |
| SW | London South West | London | South East |
| SY | Shrewsbury | Shropshire | Midlands |
| TA | Taunton | Somerset | South West |
| TD | Berwick upon Tweed | Scotland | Scotland |
| TF | Telford | Shropshire | Midlands |
| TN | Tunbridge Wells | Kent | South East |
| TQ | Torquay | Dorset | South West |
| TR | Truro | Cornwall | South West |
| TS | Teesside (Middlesbrough) | Cleveland | North East |
| TW | Twickenham | Surrey | South East |
| UB | Uxbridge | Middlesex | South East |
| W | London West | London | South East |
| WA | Warrington | Cheshire | Midlands |
| WC | London West Central | London | South East |
| WD | Watford | Herfordshire | South East |
| WF | Wakefield | West Yorkshire | North West |
| WN | Wigan | Manchester | Midlands |
| WR | Worcester | Hereford and Worcester | Midlands |
| WS | Walsall | West Midlands | Midlands |
| WV | Wolverhampton | West Midlands | Midlands |
| YO | York | Yorkshire | North East |
| ZE | Lerwick | Shetland Isles | Shetland |
See also:

Regex UK Postcode for Validation
(([A-PR-UW-Z]{1}[A-IK-Y]?)([0-9]?[A-HJKS-UW]?[ABEHMNPRVWXY]?|[0-9]?[0-9]?))\s?([0-9]{1}[ABD-HJLNP-UW-Z]{2})