我正在尝试修改此脚本以接受,并且'为此正则表达式验证表单上的地址是否正确写入?
^[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)
在评论中,Daniel Vandersluis 有一个非常好的观点:地址不能仅通过正则表达式进行验证。USPS 有一个名为 CASS(编码精度支持系统)的完整部门,专门用于验证地址数据。我在SmartyStreets工作,在那里我们为人们提供 CASS 认证的服务。事实上,如果您真的对好的地址感兴趣,我会亲自帮助您入门(例如,使用 Javascript 真的很容易。只需要一分钟左右。)