用于验证地址的JavaScript Regular Expression

Ame*_*men 2 javascript regex

我正在尝试修改此脚本以接受,并且'为此正则表达式验证表单上的地址是否正确写入?

^[a-zA-Z0-9\s\,\''\-]*$
Run Code Online (Sandbox Code Playgroud)

cod*_*ict 15

它有效,但有一些冗余的逃脱.

你无需逃脱逗号,单引号和连字符.只有当char具有特殊含义并且您希望按字面意思使用它时才会转义.在char类中:

  • -是一个元字符,但不是在它出现在开头或结尾时.在你的情况下,它出现在最后,所以它失去了它的特殊含义(范围制作).
  • ]是一个元字符,标志着char类的结束.因此,如果你想成为]char类的一部分,你需要逃避它.

所以你可以写你的正则表达式:

^[a-zA-Z0-9\s,'-]*$
Run Code Online (Sandbox Code Playgroud)


Mat*_*att 5

在评论中,Daniel Vandersluis 有一个非常好的观点:地址不能仅通过正则表达式进行验证。USPS 有一个名为 CASS(编码精度支持系统)的完整部门,专门用于验证地址数据。我在SmartyStreets工作,在那里我们为人们提供 CASS 认证的服务。事实上,如果您真的对好的地址感兴趣,我会亲自帮助您入门(例如,使用 Javascript 真的很容易。只需要一分钟左右。)