2011-06-07 462 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

相關問題