当前位置:  开发笔记 > 编程语言 > 正文

邮政编码(美国邮政编码)验证

如何解决《邮政编码(美国邮政编码)验证》经验,为你挑选了4个好方法。

我以为人们会一起处理小代码项目,但是我没有看到它们,所以这里很简单:

验证有效美国邮政编码的代码.我知道那里有邮政编码数据库,但仍有一些用途,如网页,快速验证,以及邮政编码不断发布的事实,因此您可能希望使用弱验证.

我在维基/博客的侧面项目中写了一些关于邮政编码的文章:

https://benc.fogbugz.com/default.asp?W24

还有一种新的,奇怪的邮政编码类型.

https://benc.fogbugz.com/default.asp?W42

我可以使用javascript代码,但看看我们可以在这里获得多少种语言会很有趣.



1> keparo..:

Javascript Regex Literal:

美国邮政编码: /(^\d{5}$)|(^\d{5}-\d{4}$)/

var isValidZip = /(^\d{5}$)|(^\d{5}-\d{4}$)/.test("90210");

一些国家使用邮政编码,这种模式将失败.


你可以用/(^\d {5}( - \d {4})?$ /替换你的测试正则表达式,使其更加简洁.在许多正则表达式引擎中它也会稍微快一点.

2> Andrey Fedor..:
function isValidUSZip(sZip) {
   return /^\d{5}(-\d{4})?$/.test(sZip);
}



3> Mike Henry..:

这是一个JavaScript函数,可根据国家/地区代码验证ZIP /邮政编码.它允许有点自由格式化.您也可以为其他国家/地区添加案例.请注意,默认情况允许空邮政编码,因为并非所有国家/地区都使用它们.

function isValidPostalCode(postalCode, countryCode) {
    switch (countryCode) {
        case "US":
            postalCodeRegex = /^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/;
            break;
        case "CA":
            postalCodeRegex = /^([A-Z][0-9][A-Z])\s*([0-9][A-Z][0-9])$/;
            break;
        default:
            postalCodeRegex = /^(?:[A-Z0-9]+([- ]?[A-Z0-9]+)*)?$/;
    }
    return postalCodeRegex.test(postalCode);
}

仅供参考虚荣邮政编码的第二个链接似乎是愚人节的笑话.



4> Samer..:

如果你在为加拿大做,请记住并非所有的信件都有效

这些字母无效:D,F,I,O,Q或U字母W和Z不用作第一个字母.还有一些人在第三个字符后使用可选空格.

这是加拿大邮政编码的正则表达式:

new RegExp(/^[abceghjklmnprstvxy][0-9][abceghjklmnprstvwxyz]\s?[0-9][abceghjklmnprstvwxyz][0-9]$/i)

最后使其不区分大小写.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有