我正在使用 jquery 验证引擎并尝试使用正则表达式添加自定义验证。
但是如何将其设置为只允许数字、连字符和 + 号?
我以不同的方式尝试过,例如:
^[0-9a-zA-Z -+]+$
^[0-9a-zA-Z -\+]+$
但是如果我在连字符后面加上加号,它们都不起作用。为什么?
在字符类中,-
(连字符) 用于指示字符范围(就像0-9
表示 from 0
to一样9
)。您可以将其转义,也可以将其放在最后以使其正常工作:
^[0-9a-zA-Z\-+]+$
^[0-9a-zA-Z+-]+$
编辑:另外,我不确定你把空间放在那里。由于您的限制,我将其删除,但如果需要,您可以将其添加回来(在第二个正则表达式的连字符之前)。
连字符创建一个0-9
范围(就像您对.+
!"#$%&'()*+
转义连字符或将其放在末尾(并删除空格,除非您想接受空格):
^[0-9a-zA-Z+-]+$
-
在字符类中具有特殊含义。事实上,您甚至可以在a-z
,A-Z
和0-9
组中使用它。
要使用文字连字符,请将其转义\-
或将其放在类的末尾(就在 之前]
)
试试这个正则表达式模式
^[0-9a-zA-Z+-]+$