2014-02-10 34 views
0

以外的所有字符的正則表達式我工作的輸入驗證,驗證除了 ^(cap)在jquery中的所有字符。我嘗試了很多RE,但沒有成功。 感謝 這是RE我使用除了^

/[a-zA-Z0-9_\/%*(){}.,;]/ 

RE不應該讓^在任何位置
例:ABC ^高清
^ ABC
ABC^

回答

3

巧合的是,在領先的^一個字符類意味着「匹配任何字符,即而不是其中一個字符」。所以你的正則表達式是[^^]

或者,如果您希望確保字符串不包含任何插頁,只需使用str.indexOf("^") === -1即可。

0

請試試這個:

/[^^]/ 

它只是說所有的除外^

+1

出人意料的是,你不需要逃脫帽。 – Eternal1

0
[^^] 

會做到這一點。它看起來很奇怪,因爲第一個帽子是正則表達式'不',第二個帽子是你不匹配的帽子。顯然你沒有一個\逃脫的帽子,所以這是整潔。

如果要檢查整個字符串不使用帽子做到這一點:

^[^^]$ 

這我不得不說行列那裏的神祕的正則表達式。開始^和結束$是主播。

+0

*「你必須逃脫第二頂帽子」*你實際上沒有。 – Ryan

+0

@minitech嗯,很酷,謝謝 –

0

^字符的意思是「不是」正則表達式,所以你可以簡單地做:

var str = "asdf"; 
/^[^\^]+$/i.test(str); // True 

str = "asd^f"; 
/^[^\^]+$/i.test(str); // False