正则表达式翻译,找不到它的意思



我已经查看了MSDN,并搜索了一下,找不到我应该如何解释这个表达式…

这是一个地址参数....

^[a-zA-Z\d/\\\\]{0,80}$

我得到任何大写/小写字母,数字都是允许的,最多允许80个字符。

我不明白4个是干什么用的。

我希望这个正则表达式允许特殊字符,因为它是一个表单的街道地址输入字段。例如,我希望这是在说,像塔姆·奥山特广场2400号或比林斯-哈珀特街1904号这样的东西可以进入这个领域。

有5个多余的字符(全部由转义)。您只需要一个(当然是转义的)就可以输入字面量的

也就是说,这看起来是一种验证街道地址的糟糕方式:

  • 不允许在地址
  • 中使用连字符(如101-204 Main st)或撇号(如O'shanter)或其他几个字符。
  • 它将地址条目限制为80个字符,这似乎是任意的,可能太短

一般来说,我不会验证地址,除非您确实想要进行邮局(或快递公司)查找以验证它是一个真实的、实际的地址,即使这样,它也充满了问题(例如,新地址尚未在数据库中,或者它包含一个不在数据库中的Suite #)。

支付处理程序还将允许您根据信用卡号码验证地址,主要是作为一种欺诈保护形式。

验证的意义是什么?如果您要运送东西,那么验证正确地址的责任就落在客户身上(他可能既要付款又要输入这个地址)。除非你知道为什么它需要是有效的,以及什么是"有效的",否则你不能使用验证。

你可以要求非空白,或者最少#个字符,但即使这样也可能会让你在国际用户中遇到麻烦(取决于这个应用程序的范围)。

最新更新