我正在寻找最终的邮政编码和邮政编码正则表达式。我正在寻找一种能覆盖世界大部分地区(希望是所有地区)的东西。
当前回答
这是一个非常简单的RegEx,用于验证美国邮政编码(而不是邮政编码+ 4):
(?!([089])\1{4})\d{5}
似乎除了00000、88888和99999之外,所有五位数字都是有效的邮政编码。
我已经用http://regexpal.com/测试了这个RegEx
SP
其他回答
这是一个非常简单的RegEx,用于验证美国邮政编码(而不是邮政编码+ 4):
(?!([089])\1{4})\d{5}
似乎除了00000、88888和99999之外,所有五位数字都是有效的邮政编码。
我已经用http://regexpal.com/测试了这个RegEx
SP
如果Zip Code允许字符和数字(字母数字),则在匹配的地方使用below regex, 5或9或10个字母数字字符加上一个连字符(-):
^([0-9A-Za-z]{5}|[0-9A-Za-z]{9}|(([0-9a-zA-Z]{5}-){1}[0-9a-zA-Z]{4}))$
除了航运之外,有一个准确的邮政编码还有其他原因。从事跨境旅游的旅行社(当然欧元区除外)需要提前向当局提供这些信息。通常这些信息是由一个可能熟悉也可能不熟悉这些东西的代理输入的。任何可以减少错误的方法都是好主意
然而,编写一个覆盖世界上所有邮政编码的正则表达式将是疯狂的。
你为什么要这么做,你为什么这么在乎?正如Tom Ritter所指出的,你是否有一个ZIP/邮政编码并不重要,更不用说它是否有效了,除非你真的要把东西发送到那个地址。即使你希望有一天你会给他们寄东西,这并不意味着你今天就需要邮政编码。
我们使用以下方法:
加拿大
([A-Z]{1}[0-9]{1}){3} //We raise to upper first
美国
[0-9]{5} //-or-
[0-9]{5}-[0-9]{4} //10 digit zip
其他
接受现状
推荐文章
- 如何从JavaScript中使用正则表达式的字符串中剥离所有标点符号?
- 正则表达式中的单词边界是什么?
- 如何将一个标题转换为jQuery的URL段塞?
- Javascript和regex:分割字符串并保留分隔符
- (grep)正则表达式匹配非ascii字符?
- 如何在保持原始字符串的同时对字符串执行Perl替换?
- 创建正则表达式匹配数组
- *的区别是什么?和。*正则表达式?
- 如何将“camelCase”转换为“Camel Case”?
- 在Java中使用正则表达式提取值
- Java中的正则表达式命名组
- 使用正则表达式搜索和替换Visual Studio代码
- 使用split("|")按管道符号拆分Java字符串
- 替换字符串中第一次出现的模式
- “\d”在正则表达式中是数字吗?