0

我正在使用 jquery 验证引擎并尝试使用正则表达式添加自定义验证。

但是如何将其设置为只允许数字、连字符和 + 号?

我以不同的方式尝试过,例如:

^[0-9a-zA-Z -+]+$
^[0-9a-zA-Z -\+]+$

但是如果我在连字符后面加上加号,它们都不起作用。为什么?

4

4 回答 4

3

在字符类中,-(连字符) 用于指示字符范围(就像0-9表示 from 0to一样9)。您可以将其转义,也可以将其放在最后以使其正常工作:

^[0-9a-zA-Z\-+]+$

^[0-9a-zA-Z+-]+$

编辑:另外,我不确定你把空间放在那里。由于您的限制,我将其删除,但如果需要,您可以将其添加回来(在第二个正则表达式的连字符之前)。

于 2013-08-28T17:10:49.070 回答
1

连字符创建一个0-9范围(就像您对.+!"#$%&'()*+

转义连字符或将其放在末尾(并删除空格,除非您想接受空格):

^[0-9a-zA-Z+-]+$
于 2013-08-28T17:11:00.247 回答
1

-在字符类中具有特殊含义。事实上,您甚至可以在a-z,A-Z0-9组中使用它。

要使用文字连字符,请将其转义\-或将其放在类的末尾(就在 之前]

于 2013-08-28T17:11:16.317 回答
0

试试这个正则表达式模式

 ^[0-9a-zA-Z+-]+$
于 2013-08-28T17:17:29.290 回答