0
我想這如何寫一個正則表達式來匹配既不是字母也不是數字的東西?
str = "bla";
/([^A-z]|[^0-9])/.test(str.charAt(0));
,但它給了我true
不管我把字符串
我想這如何寫一個正則表達式來匹配既不是字母也不是數字的東西?
str = "bla";
/([^A-z]|[^0-9])/.test(str.charAt(0));
,但它給了我true
不管我把字符串
這是因爲你的正則表達式的意思是「什麼是要麼不是字母或不一個號碼。」 所有字符至少滿足這些條件之一。我懷疑你真正想要的是這樣的:
/[^A-Za-z0-9]/
這意味着「什麼是既不信和不是一個數字。」看到不同?請注意,[A-z]
不正確。 [A-Z]
和[a-z]
是兩個不同的字符集,並且在技術上不是它們之間定義的延續。一些正則表達式引擎會讓你擺脫這種情況,但有些會引發錯誤或者做一些你不想要的東西。
寫「從A到Z的任何字母,無論大小寫」的正確方法是[A-Za-z]
。或者你可以使用i
標誌,使您的正則表達式不區分大小寫的,而你的情況應該是:
/[a-z0-9]/i
+1的完整答案! –
當然,因爲每個字符是一個非字母或非數字。嘗試一下!哦,「A-Z」不是你想象的。 :) –