2011-11-11 134 views
8

可能重複:
How can i use preg_match in jQuery?什麼是preg_match的JavaScript等價物?

什麼是jQuery的相當於PHP的preg_match功能? 在PHP這將是:

preg_match('/[^a-zA-Z0-9]/', $str); 

,檢查如果字符串不是字母和數字的其他任何東西。 我想添加一些客戶端驗證到我的網站,但我看了看,並且無法完全找到與此相當的jQuery。 謝謝。

+1

請選擇實用的標題工作。 – 2011-11-11 00:35:22

回答

3

不jQuery的但JavaScript的

var myStr = "something"; 

/[^a-zA-Z0-9]/.test(myStr) // will return true or false. 

或爲了清楚

var regEx=/[^a-zA-Z0-9]/; 

regEx.test(myStr) 

的測試方法是正則表達式對象的一部分...下面是一些參考

http://www.w3schools.com/jsref/jsref_regexp_test.asp

+0

這裏有幾個問題。首先'.test()'只是一個正則表達式對象的方法,而不是一個字符串。其次,在使用'/ xxx /'表示法時,不要在正則表達式附近加引號。第三,你在另一個'mystring'中的一個地方有'myStr'。 – jfriend00

+0

@ jfriend00您應該在每位用戶完成他們的答案後5分鐘的時間內刷新屏幕。 –

+0

我回應了你最初寫作的答案。如果你不想這樣的評論,你的原始答案不應該包含太多的錯誤,因爲它甚至沒有接近正確。 – jfriend00

8

在普通的JavaScript中(沒有這個需要jQuery),你只需要使用t他的string對象的.match()方法,該方法將返回null如果沒有匹配和數組,如果有匹配:

var str = "myteststring"; 
if (str.match(/[^a-zA-Z0-9]/)) { 
    // contains illegal characters 
} 
1

如果你想匹配的字符串,可以用香草JS做到這一點:

var str = "here's my string"; 
var matches = str.match('/[^a-zA-Z0-9]/'); 

如果你正在嘗試做一個選擇,並且使用jQuery,您可以使用:

$("div:match('/[^a-zA-Z0-9]/')") 
相關問題