PHP 中的美国/英国/加拿大邮政编码验证
我不太擅长正则表达式。我希望添加一个验证函数,如果输入的字符串是有效的美国、英国或加拿大邮政编码,该函数将返回 true/false。
美国:NNNNN CA:LNL NLN 英国:很多组合
L = 字母,N = 数字
美国和加拿大有单独的函数,但我未能想出一个统一的函数来执行此操作。
Im not so good with regex. Im looking to add a validation function that will return true/false if the string entered into it is a valid US, UK, or CA zip/postal code.
US: NNNNN
CA: LNL NLN
UK: Lots of combinations
L = letter, N = Number
There are individual functions for US, and Canada, but I failed to come up with a single unified function to do this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看
Zend_Validate_Postcode
来自Zend 框架:我想您可以查看源代码,或者将其用作独立组件。它可能在 ZF 中具有依赖关系,但您肯定不需要仅针对该组件使用整个框架。希望有帮助。
Take a look at
Zend_Validate_Postcode
from the Zend Framework:I guess you could either look at the source, or use it as a stand-alone component. It may have dependencies within the ZF, but you will certainly not need to use the entire framework just for that component. Hope that helps.
我的解决方案是使用逻辑 OR 运算符来使用三个单独的正则表达式:
请注意,这是有效的,因为 PHP 使用短路逻辑。一旦一项测试通过,其他测试将被忽略,因此
$matches
不会被覆盖。My solution would be to go for three separate regexes using logical
OR
operators:Note that this works because PHP uses short-circuit logic. Once one test has passed, the others are ignored so
$matches
won't be overridden.