任何人都可以告訴我如何使用正則表達式驗證美國的郵政編碼。美國的郵政編碼驗證
我用以下表達式進行驗證
var us_postcode_regular = /^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/;
但是它不能夠驗證所有00000或11111或類似的號碼。
以及如何驗證不正確的郵政編碼,如五個數字不是美國郵政編碼的一部分。
任何人都可以告訴我如何使用正則表達式驗證美國的郵政編碼。美國的郵政編碼驗證
我用以下表達式進行驗證
var us_postcode_regular = /^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/;
但是它不能夠驗證所有00000或11111或類似的號碼。
以及如何驗證不正確的郵政編碼,如五個數字不是美國郵政編碼的一部分。
if(ctype_digit($zip) && strlen($zip) == 5){ echo 'US Zip Code'; }
http://www.zipcodeapi.com/API#zipToLoc這樣做很簡單。呼叫的樣子:
http://www.zipcodeapi.com/rest/<api_key>/info.<format>/<zip_code>/<units>
壞拉鍊碼將拋出,你可以捕獲錯誤。有效的郵編將返回一個JSON(或XML或CSV)的反應是這樣的:
{
"zip_code": "08057",
"lat": 56.595452,
"lng": -69.784543,
"city": "Classified",
"state": "NJ",
"timezone": {
"timezone_identifier": "America/New_York",
"timezone_abbr": "EDT",
"utc_offset_sec": -14400,
"is_dst": "T"
},
"acceptable_city_names": [
{
"city": "Classified",
"state": "NJ"
},
{
"city": "Classified",
"state": "NJ"
}
]
}
我相信,你可以用最簡單的一個是這樣的:
function validateUSAZip($zip_code) {
return preg_match(「/^([0-9]{5})(-[0-9]{4})?$/i」,$zip_code);
}
這是實際上使用類似你的正則表達式。
<!-- Hi developers this is a simple demo for **zip code validation for us country** And this code is very usefull for you. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Validate US Zip Code in JavaScript</title>
<script type="text/javascript">
function IsValidZipCode(zip) {
var isValid = /^[0-9]{5}(?:-[0-9]{4})?$/.test(zip);
if (isValid)
alert('Valid ZipCode');
else {
alert('Invalid ZipCode');
}
}
</script>
</head>
<body>
<form>
<input id="txtZip" name="zip" type="text" /><br />
<input id="Button1" type="submit" value="Validate"onclick="IsValidZipCode(this.form.zip.value)" />
</form>
</body>
</html>
欲瞭解更多信息。 http://www.devcurry.com/2010/07/validate-us-zip-code-using-javascript.html
它[**爲我工作。**](http://regexr.com?36itk) – theftprevention
這種模式已經是正確的。您無法從正則表達式中真正確定有效的郵政編碼;你只能告訴它是否在正確的形式(5或9位數字)。 – Pointy
如果您想確保郵政編碼存在,請查看USPS的地址驗證API:https://www.usps.com/business/web-tools-apis/address-information.htm – aynber