2013-10-02 3 views
2

Может ли кто-нибудь сказать мне, как я могу проверить zipcode для US, используя регулярное выражение.Проверка подлинности почтового индекса для US

Я использовал ниже выражения для проверки

var us_postcode_regular = /^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/; 

Однако она не в состоянии проверить все 00000 или 11111 или подобные номера.

и как я могу проверить неправильный почтовый индекс, как пять цифр, которые не являются частью американского почтового индекса.

+0

Это [** работает для меня. **] (http://regexr.com?36itk) – theftprevention

+2

Этот шаблон уже правильный. Вы не можете определить действительные почтовые индексы из регулярного выражения; вы можете только указать, находится ли она в правильной форме (5 или 9 цифр). – Pointy

+3

Если вы хотите убедиться, что почтовый индекс существует, ознакомьтесь с API проверки адресов USPS: https://www.usps.com/business/web-tools-apis/address-information.htm – aynber

ответ

1
if(ctype_digit($zip) && strlen($zip) == 5){ echo 'US Zip Code'; } 
0

http://www.zipcodeapi.com/API#zipToLoc делает это очень простым. Вызов выглядит так:

http://www.zipcodeapi.com/rest/<api_key>/info.<format>/<zip_code>/<units> 

Плохие zipcodes выдадут ошибку, которую вы можете поймать. Действительный почтовый индекс возвращает 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" 
    } 
] 

}

0

Я верю, самый простой из них вы можете использовать это:

function validateUSAZip($zip_code) { 
return preg_match(“/^([0-9]{5})(-[0-9]{4})?$/i”,$zip_code); 
} 

Это используя аналогичное регулярное выражение, подобное вашему.

-1
<!-- 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

Смежные вопросы