我正在尝试修改此脚本,以便使用正则表达式接受逗号、破折号和撇号来验证表单上的地址。请问这个脚本写得正确吗?
^[a-zA-Z0-9\s\,\''\-]*$
^[a-zA-Z0-9\s\,\''\-]*$
它可以工作,但有一些多余的转义符。
你不需要转义逗号、单引号和连字符。只有当字符具有特殊含义且你想要字面使用它时才需要转义。在字符类中:
-
是元字符,但不是当它出现在开头或结尾时。
在你的情况下,它出现在末尾,所以
它已经失去了它的特殊含义(制作范围)。]
是标记字符类结尾的元字符。因此,如果想要让]
成为字符类的一部分,则需要对其进行转义。因此,你可以将你的正则表达式写为:
^[a-zA-Z0-9\s,'-]*$
/^[a-zA-Z0-9\s,.'-]{3,}$/ .
这个正则表达式接受至少三个字符,最大字符数没有限制。字符可以包括a-z、A-Z字母、空格、逗号(,)、点(.)、撇号(')和破折号(-)符号。
/^[a-z0-9\s,'-]*$/i