我需要一个正则表达式来验证Zipcode或邮政编码 - 它必须是8个字符 字母数字字段即允许A-Z,a-z或0-9。
感谢。
答案 0 :(得分:9)
^[a-zA-Z0-9]{8}$
这也可以,但通常允许下划线:^\w{8}$
允许字符串中的空闲空格(为简单起见,这允许字符串末尾有额外的空格,但不是开头):
^([a-zA-Z0-9]\s*){8}$
这允许自由空格,连字符和(后退)?slashed,这在邮政编码中很常见:
^([a-zA-Z0-9][\s\\/-]*){8}$
答案 1 :(得分:0)
你不能,因为并非所有符合邮政编码格式的数字模式都是有效的邮政编码。
答案 2 :(得分:0)
如果验证框架支持这种自定义验证,我会尝试将zip /邮政编码与国家/地区代码一起验证。如果您的许多客户来自特定国家/地区,这将导致更准确的验证。
例如,我首先检查国家代码,如果是美国,我可以更具体:
if (countryCode == "US") {
regex = "^\d{5}([\-]\d{4})?$"; // trim string first
}
else {
// see other answers!
}
(当然这适用于任何国家,例如邮政编码为固定格式的英国)
答案 3 :(得分:0)
如果您有兴趣验证世界各地的地址,请查看http://intlmailaddress.com。它有来自246个国家的邮政地址格式,邮政编码格式和电话格式。地区名称,(如州,省,酋长国,胜利等)