2011-06-07 349 views
10

我需要正则表达式搜索字符串alphanumeric, (,), -, .,/and ampersand(&).正则表达式匹配字母数字字符和符号(&)

眼下在客户端验证使用此正则表达式即时

[^A-Za-z0-9.)(/-\&] 

编辑:

我想搜索我的字符串中的特殊字符VAL.search(/[^A-Za-z0-9.)(/-\&]+/g)==-1

+0

你需要弄清楚你想要什么。在你的问题中,你说你想匹配这些字符'()-./&a-zA-Z0-9',并且可能在说你实际上想匹配任何不是这些字符的东西。你想匹配'^'吗?你想匹配'\'? – 2011-06-07 09:29:03

+0

在jquery验证我想搜索我的字符串的字母数字和特殊字符以外的(,.- /&)例如像“b&g(54.4kg/m)”这样的字符串。如果有人输入了除上面指定的特殊字符,那么我的函数将返回false。我搜索字符串的代码是VAL.search(/ [^ A-Za-z0-9。)(/ - \&] +/g)== - 1 – key2 2011-06-07 09:36:02

回答

12

将反斜线,pu t在角色课程结束时的破折号。

[^A-Za-z0-9.)(/\\&-] 

不知道为什么你包括^,因为这否定字符类。

+0

应该是转义正斜杠而不是反斜杠。还需要转义点和括号 – 2011-06-07 09:02:05

+1

@比利:不。正则表达式在正则表达式中没有特别的含义,甚至更多,因此它在字符类中没有特殊含义。 – Tomalak 2011-06-07 09:05:40

+0

包括^,因为我想搜索我的字符串的特殊字符VAL.search(/ [^ A-Za-z0-9。)(/ \\& - ] +/g)== - 1 我把破折号结束我的字符串,但它nt工作。请帮忙 – key2 2011-06-07 09:06:07

2

试试这个:

VAL.search(/[^a-zA-Z0-9.()/&-]/g) == -1 
+2

在字符类中需要转义的唯一字符是'\',''''(除非把它放在中间的某处)。 – Tomalak 2011-06-07 09:03:14

+1

@Tomalak和'-',除非它是班级中的最后一个字符。 – 2016-01-15 12:47:28

相关问题