Last active
August 24, 2019 17:43
-
-
Save Sturtuk/ef21a7f837321c58fd8671ae5ae40c4e to your computer and use it in GitHub Desktop.
Check valid zip code (or) get a matching zip code country - All Countries
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if(!function_exists('is_valid_postalCode')){ | |
function is_valid_postalCode($code){ | |
$regex = [ | |
"AD" => "^(?:AD)*(\d{3})$", | |
"AM" => "^(\d{6})$", | |
"AR" => "^([A-Z]\d{4}[A-Z]{3})$", | |
"AT" => "^(\d{4})$", | |
"AU" => "^(\d{4})$", | |
"AX" => "^(?:FI)*(\d{5})$", | |
"AZ" => "^(?:AZ)*(\d{4})$", | |
"BA" => "^(\d{5})$", | |
"BB" => "^(?:BB)*(\d{5})$", | |
"BD" => "^(\d{4})$", | |
"BE" => "^(\d{4})$", | |
"BG" => "^(\d{4})$", | |
"BH" => "^(\d{3}\d?)$", | |
"BM" => "^([A-Z]{2}\d{2})$", | |
"BN" => "^([A-Z]{2}\d{4})$", | |
"BR" => "^(\d{8})$", | |
"BY" => "^(\d{6})$", | |
"CA" => "^([ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ]) ?(\d[ABCEGHJKLMNPRSTVWXYZ]\d)$", | |
"CH" => "^(\d{4})$", | |
"CL" => "^(\d{7})$", | |
"CN" => "^(\d{6})$", | |
"CR" => "^(\d{4})$", | |
"CU" => "^(?:CP)*(\d{5})$", | |
"CV" => "^(\d{4})$", | |
"CX" => "^(\d{4})$", | |
"CY" => "^(\d{4})$", | |
"CZ" => "^(\d{5})$", | |
"DE" => "^(\d{5})$", | |
"DK" => "^(\d{4})$", | |
"DO" => "^(\d{5})$", | |
"DZ" => "^(\d{5})$", | |
"EC" => "^([a-zA-Z]\d{4}[a-zA-Z])$", | |
"EE" => "^(\d{5})$", | |
"EG" => "^(\d{5})$", | |
"ES" => "^(\d{5})$", | |
"ET" => "^(\d{4})$", | |
"FI" => "^(?:FI)*(\d{5})$", | |
"FM" => "^(\d{5})$", | |
"FO" => "^(?:FO)*(\d{3})$", | |
"FR" => "^(\d{5})$", | |
"GB" => "GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT|CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG|HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK|ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL|SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR|WS|WV|YO|ZE)(\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4}", | |
"GE" => "^(\d{4})$", | |
"GF" => "^((97|98)3\d{2})$", | |
"GG" => "^(([A-Z]\d{2}[A-Z]{2})|([A-Z]\d{3}[A-Z]{2})|([A-Z]{2}\d{2}[A-Z]{2})|([A-Z]{2}\d{3}[A-Z]{2})|([A-Z]\d[A-Z]\d[A-Z]{2})|([A-Z]{2}\d[A-Z]\d[A-Z]{2})|(GIR0AA))$", | |
"GL" => "^(\d{4})$", | |
"GP" => "^((97|98)\d{3})$", | |
"GR" => "^(\d{5})$", | |
"GT" => "^(\d{5})$", | |
"GU" => "^(969\d{2})$", | |
"GW" => "^(\d{4})$", | |
"HN" => "^([A-Z]{2}\d{4})$", | |
"HR" => "^(?:HR)*(\d{5})$", | |
"HT" => "^(?:HT)*(\d{4})$", | |
"HU" => "^(\d{4})$", | |
"ID" => "^(\d{5})$", | |
"IL" => "^(\d{5})$", | |
"IM" => "^(([A-Z]\d{2}[A-Z]{2})|([A-Z]\d{3}[A-Z]{2})|([A-Z]{2}\d{2}[A-Z]{2})|([A-Z]{2}\d{3}[A-Z]{2})|([A-Z]\d[A-Z]\d[A-Z]{2})|([A-Z]{2}\d[A-Z]\d[A-Z]{2})|(GIR0AA))$", | |
"IN" => "^(\d{6})$", | |
"IQ" => "^(\d{5})$", | |
"IR" => "^(\d{10})$", | |
"IS" => "^(\d{3})$", | |
"IT" => "^(\d{5})$", | |
"JE" => "^(([A-Z]\d{2}[A-Z]{2})|([A-Z]\d{3}[A-Z]{2})|([A-Z]{2}\d{2}[A-Z]{2})|([A-Z]{2}\d{3}[A-Z]{2})|([A-Z]\d[A-Z]\d[A-Z]{2})|([A-Z]{2}\d[A-Z]\d[A-Z]{2})|(GIR0AA))$", | |
"JO" => "^(\d{5})$", | |
"JP" => "^(\d{7})$", | |
"KE" => "^(\d{5})$", | |
"KG" => "^(\d{6})$", | |
"KH" => "^(\d{5})$", | |
"KP" => "^(\d{6})$", | |
"KR" => "^(?:SEOUL)*(\d{6})$", | |
"KW" => "^(\d{5})$", | |
"KZ" => "^(\d{6})$", | |
"LA" => "^(\d{5})$", | |
"LB" => "^(\d{4}(\d{4})?)$", | |
"LI" => "^(\d{4})$", | |
"LK" => "^(\d{5})$", | |
"LR" => "^(\d{4})$", | |
"LS" => "^(\d{3})$", | |
"LT" => "^(?:LT)*(\d{5})$", | |
"LU" => "^(\d{4})$", | |
"LV" => "^(?:LV)*(\d{4})$", | |
"MA" => "^(\d{5})$", | |
"MC" => "^(\d{5})$", | |
"MD" => "^(?:MD)*(\d{4})$", | |
"ME" => "^(\d{5})$", | |
"MG" => "^(\d{3})$", | |
"MK" => "^(\d{4})$", | |
"MM" => "^(\d{5})$", | |
"MN" => "^(\d{6})$", | |
"MQ" => "^(\d{5})$", | |
"MT" => "^([A-Z]{3}\d{2}\d?)$", | |
"MV" => "^(\d{5})$", | |
"MX" => "^(\d{5})$", | |
"MY" => "^(\d{5})$", | |
"MZ" => "^(\d{4})$", | |
"NC" => "^(\d{5})$", | |
"NE" => "^(\d{4})$", | |
"NF" => "^(\d{4})$", | |
"NG" => "^(\d{6})$", | |
"NI" => "^(\d{7})$", | |
"NL" => "^(\d{4}[A-Z]{2})$", | |
"NO" => "^(\d{4})$", | |
"NP" => "^(\d{5})$", | |
"NZ" => "^(\d{4})$", | |
"OM" => "^(\d{3})$", | |
"PF" => "^((97|98)7\d{2})$", | |
"PG" => "^(\d{3})$", | |
"PH" => "^(\d{4})$", | |
"PK" => "^(\d{5})$", | |
"PL" => "^(\d{5})$", | |
"PM" => "^(97500)$", | |
"PR" => "^(\d{9})$", | |
"PT" => "^(\d{7})$", | |
"PW" => "^(96940)$", | |
"PY" => "^(\d{4})$", | |
"RE" => "^((97|98)(4|7|8)\d{2})$", | |
"RO" => "^(\d{6})$", | |
"RS" => "^(\d{6})$", | |
"RU" => "^(\d{6})$", | |
"SA" => "^(\d{5})$", | |
"SD" => "^(\d{5})$", | |
"SE" => "^(?:SE)*(\d{5})$", | |
"SG" => "^(\d{6})$", | |
"SH" => "^(STHL1ZZ)$", | |
"SI" => "^(?:SI)*(\d{4})$", | |
"SK" => "^(\d{5})$", | |
"SM" => "^(4789\d)$", | |
"SN" => "^(\d{5})$", | |
"SO" => "^([A-Z]{2}\d{5})$", | |
"SV" => "^(?:CP)*(\d{4})$", | |
"SZ" => "^([A-Z]\d{3})$", | |
"TC" => "^(TKCA 1ZZ)$", | |
"TH" => "^(\d{5})$", | |
"TJ" => "^(\d{6})$", | |
"TM" => "^(\d{6})$", | |
"TN" => "^(\d{4})$", | |
"TR" => "^(\d{5})$", | |
"TW" => "^(\d{5})$", | |
"UA" => "^(\d{5})$", | |
"US" => "^\d{5}(-\d{4})?$", | |
"UY" => "^(\d{5})$", | |
"UZ" => "^(\d{6})$", | |
"VA" => "^(\d{5})$", | |
"VE" => "^(\d{4})$", | |
"VI" => "^\d{5}(-\d{4})?$", | |
"VN" => "^(\d{6})$", | |
"WF" => "^(986\d{2})$", | |
"YT" => "^(\d{5})$", | |
"ZA" => "^(\d{4})$", | |
"ZM" => "^(\d{5})$", | |
"CS" => "^(\d{5})$", | |
]; | |
foreach ($regex as $key => $value) { | |
if(preg_match("/^$value/", $code,$prefect_match)) { | |
if($prefect_match[0] != '') { | |
$match_with[$key] = $prefect_match; | |
} | |
} | |
} | |
return $match_with; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"US": [ | |
"56005" | |
], | |
"DE": [ | |
"56005", | |
"56005" | |
], | |
"FR": [ | |
"56005" | |
], | |
"AU": [ | |
"5600", | |
"5600" | |
], | |
"IT": [ | |
"56005", | |
"56005" | |
], | |
"CH": [ | |
"5600", | |
"5600" | |
], | |
"AT": [ | |
"5600", | |
"5600" | |
], | |
"ES": [ | |
"56005", | |
"56005" | |
], | |
"BE": [ | |
"5600", | |
"5600" | |
], | |
"DK": [ | |
"5600", | |
"5600" | |
], | |
"SE": [ | |
"56005" | |
], | |
"NO": [ | |
"5600", | |
"5600" | |
], | |
"PT": [ | |
"5600" | |
], | |
"FI": [ | |
"56005", | |
"56005" | |
], | |
"CN": [ | |
"560055", | |
"560055" | |
], | |
"TW": [ | |
"56005", | |
"05" | |
], | |
"SG": [ | |
"560055", | |
"560055" | |
], | |
"DZ": [ | |
"56005", | |
"56005" | |
], | |
"AR": [ | |
"5600" | |
], | |
"AM": [ | |
"5600" | |
], | |
"AZ": [ | |
"5600", | |
"5600" | |
], | |
"BH": [ | |
"560", | |
"560", | |
"5" | |
], | |
"BD": [ | |
"5600", | |
"5600" | |
], | |
"BY": [ | |
"560055", | |
"560055" | |
], | |
"BA": [ | |
"56005", | |
"56005" | |
], | |
"BG": [ | |
"5600", | |
"5600" | |
], | |
"KH": [ | |
"56005", | |
"56005" | |
], | |
"CV": [ | |
"5600", | |
"5600" | |
], | |
"CR": [ | |
"56005" | |
], | |
"HR": [ | |
"56005", | |
"56005" | |
], | |
"CY": [ | |
"5600", | |
"5600" | |
], | |
"CZ": [ | |
"56005" | |
], | |
"DO": [ | |
"56005", | |
"56005" | |
], | |
"EC": [ | |
"560055", | |
"560055" | |
], | |
"EG": [ | |
"56005", | |
"56005" | |
], | |
"EE": [ | |
"56005", | |
"56005" | |
], | |
"FO": [ | |
"560", | |
"560" | |
], | |
"GE": [ | |
"5600", | |
"5600" | |
], | |
"GR": [ | |
"56005" | |
], | |
"GT": [ | |
"56005", | |
"56005" | |
], | |
"HT": [ | |
"5600", | |
"5600" | |
], | |
"HN": [ | |
"56005" | |
], | |
"HU": [ | |
"5600", | |
"5600" | |
], | |
"IS": [ | |
"560", | |
"560" | |
], | |
"IN": [ | |
"560055", | |
"560055" | |
], | |
"ID": [ | |
"56005", | |
"56005" | |
], | |
"IL": [ | |
"56005", | |
"56005" | |
], | |
"JO": [ | |
"56005", | |
"56005" | |
], | |
"KZ": [ | |
"560055", | |
"560055" | |
], | |
"KE": [ | |
"56005", | |
"56005" | |
], | |
"KW": [ | |
"56005", | |
"56005" | |
], | |
"LA": [ | |
"56005", | |
"56005" | |
], | |
"LV": [ | |
"5600", | |
"5600" | |
], | |
"LB": [ | |
"5600", | |
"5600" | |
], | |
"LT": [ | |
"56005", | |
"56005" | |
], | |
"LU": [ | |
"5600", | |
"5600" | |
], | |
"MK": [ | |
"5600", | |
"5600" | |
], | |
"MY": [ | |
"56005", | |
"56005" | |
], | |
"MV": [ | |
"56005", | |
"56005" | |
], | |
"MX": [ | |
"56005", | |
"56005" | |
], | |
"MD": [ | |
"5600", | |
"5600" | |
], | |
"MA": [ | |
"56005", | |
"56005" | |
], | |
"NP": [ | |
"56005", | |
"56005" | |
], | |
"NZ": [ | |
"5600", | |
"5600" | |
], | |
"NG": [ | |
"560055", | |
"560055" | |
], | |
"OM": [ | |
"560" | |
], | |
"PK": [ | |
"56005", | |
"56005" | |
], | |
"PY": [ | |
"5600", | |
"5600" | |
], | |
"PH": [ | |
"5600", | |
"5600" | |
], | |
"RO": [ | |
"560055", | |
"560055" | |
], | |
"RU": [ | |
"560055", | |
"560055" | |
], | |
"SA": [ | |
"56005", | |
"56005" | |
], | |
"SN": [ | |
"56005", | |
"56005" | |
], | |
"SK": [ | |
"56005" | |
], | |
"SI": [ | |
"5600", | |
"5600" | |
], | |
"ZA": [ | |
"5600", | |
"5600" | |
], | |
"LK": [ | |
"56005", | |
"56005" | |
], | |
"TJ": [ | |
"560055", | |
"560055" | |
], | |
"TH": [ | |
"56005", | |
"56005" | |
], | |
"TN": [ | |
"5600", | |
"5600" | |
], | |
"TR": [ | |
"56005", | |
"56005" | |
], | |
"TM": [ | |
"560055", | |
"560055" | |
], | |
"UA": [ | |
"56005", | |
"56005" | |
], | |
"UY": [ | |
"56005", | |
"56005" | |
], | |
"UZ": [ | |
"560055", | |
"560055" | |
], | |
"VA": [ | |
"56005", | |
"56005" | |
], | |
"VE": [ | |
"5600", | |
"5600" | |
], | |
"ZM": [ | |
"56005", | |
"56005" | |
], | |
"AS": [ | |
"56005", | |
"56005" | |
], | |
"CC": [ | |
"5600", | |
"5600" | |
], | |
"CK": [ | |
"5600", | |
"5600" | |
], | |
"RS": [ | |
"560055", | |
"560055" | |
], | |
"CS": [ | |
"56005", | |
"56005" | |
], | |
"YU": [ | |
"56005", | |
"56005" | |
], | |
"CX": [ | |
"5600", | |
"5600" | |
], | |
"ET": [ | |
"5600", | |
"5600" | |
], | |
"NF": [ | |
"5600", | |
"5600" | |
], | |
"GN": [ | |
"560", | |
"560" | |
], | |
"GW": [ | |
"5600", | |
"5600" | |
], | |
"HM": [ | |
"5600", | |
"5600" | |
], | |
"IQ": [ | |
"56005", | |
"56005" | |
], | |
"KG": [ | |
"560055", | |
"560055" | |
], | |
"LR": [ | |
"5600", | |
"5600" | |
], | |
"LS": [ | |
"560", | |
"560" | |
], | |
"MG": [ | |
"560", | |
"560" | |
], | |
"MN": [ | |
"560055", | |
"560055" | |
], | |
"NE": [ | |
"5600", | |
"5600" | |
], | |
"PG": [ | |
"560", | |
"560" | |
], | |
"PW": [ | |
"56005", | |
"56005" | |
], | |
"SJ": [ | |
"5600", | |
"5600" | |
], | |
"SO": [ | |
"56005", | |
"56005" | |
], | |
"XK": [ | |
"56005", | |
"56005" | |
] | |
} | |
{ | |
"GB": [ | |
"M11AH", | |
"M11AH", | |
"M", | |
"11AH" | |
] | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Check in Laravel | |
<?php | |
Route::any('zipcode_check', function (){ | |
return response()->json(is_valid_postalCode('560055')); | |
}); | |
Route::any('zipcode_check', function (){ | |
return response()->json(is_valid_postalCode('M11AH')); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment