2011-05-06 72 views
0

我想執行一些檢查,但REGEX我只是不明白。 我想先檢查3個字符,然後再檢查是否有數字字符。代碼如下,最後可能有一個答案是正則表達式語法在每種語言中都是一樣的嗎?與jquery正則表達式

$(document).ready(function() { 
    var name=$('#firstname'); 
    function validateName() { 
     //function nameCheck() { 
     if (name.val().length <=2) { 
      name.addClass('error'); 
      $(".hidden_f").html("First Name must be 3 letters!"); 
     } else if ($("#firstname.").val().match('[a-z]')) { 
      $(".hidden_f").html("No numbers!");  
     } 
    } 
    name.keyup(validateName); 
}); 

而且如果可能的話,可能有人給我幾個例子,所以我可以嘗試學習正則表達式的歡呼!

+1

總是看看其他問題:http://stackoverflow.com/questions/345194/regular-expression-matching-in-jquery。 – 2011-05-06 22:52:07

回答

0

首先,你似乎有選擇$("#firstname.")錯誤應該讀$("#firstname")

至於正則表達式 - 3個字母(不含數字),您可以使用match(/[a-zA-Z]{3}/)

2

有正則表達式的一些稍微不同的口味,但大多數情況下,RegExp在每種語言中都是相同的,只是存在細微差異。

我認爲這是對正則表達式的最佳資源:http://www.regular-expressions.info/

它的包裝與文章和例子,確實是一個了不起的網站。

要使用3個或更多字符,沒有數字字符匹配一個詞組,你可以使用

var re = /[^0-9]{3,}/i 

這應該工作。

+0

fromcomment:「要執行檢查,確認沒有數字字符」 – 2011-05-06 22:55:54

1

你傳遞的是一個字符串,而不是一個正則表達式作爲匹配的參數,所以它試圖將字符串中的序列按原樣加工。正則表達式由/或用新正則表達式(轉義字符串)創建。另外,如果你不需要匹配,你應該使用regexp.test(input)來代替。