RegEx翻译,找不到它意味着什么

时间:2013-04-15 16:47:48

标签: regex

我查看了MSDN,并用Google搜索,无法找到我应该如何理解这个表达式...

是地址参数......

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

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

我不知道4 \的用途。

我希望这个正则表达式允许特殊字符,因为它是表单的街道地址输入字段。 例如,我希望这可以说像2400 Tam O'Shanter Place或1904 Billings-Harper Terrace这样的东西可以进入现场。

1 个答案:

答案 0 :(得分:0)

有5个冗余\个字符(全部由\转义)。您只需要一个(当然是转义)来允许输入文字\

那就是说,这看起来像验证街道地址的可怕方式:

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

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

付款处理商还会让您根据信用卡号码验证地址,主要是作为欺诈保护的一种形式。

验证的重点是什么?如果您要运送货物,则责任在客户(可能是支付并输入此地址)上以验证正确的地址。 直到你知道它为什么需要有效,以及确切的“有效”,你才能使用验证。

您可能需要非空白或最少的字符数,但即使这样也可能会让您遇到国际用户的麻烦(取决于此应用的范围)。