2011-08-05 91 views
0
$('#password').val().indexOf(/[a-z]/) != -1) 

這是行不通?如果是的話,是否有問題,因爲它不工作。驗證密碼包含字母

+0

我們是在說這裏的正則表達式還是隻是檢查密碼是否包含字母A或B等? – diceler

+0

只是爲了查看密碼是否包含一個字母,以便它不是所有的數字。有一切工作,但信件,給我一個問題。 – Osman

+0

請注意,這是區分大小寫的,所以您只檢查小寫字母,不帶重音的字母。 – Quentin

回答

1

做你的支票類似下面的,因爲你想用一個對象都支持正則表達式語法的工作:

var valContainsLetter = /[a-z]/i.test($('#password').val()) 

i標誌是順便支持小寫字母和大寫字母。

+0

這種方式仍然會返回true,如果我把1 – Osman

+0

問題與一個無關...但這工作謝謝! – Osman

+0

它確實返回'true',但前提是密碼也包含一個字母。這是因爲你要求檢查一封信,而不是隻檢查信件。 –

5

indexOf方法接受,而不是一個正則表達式

如果你想測試一個正則表達式,然後使用match

+0

好吧給我一個鏡頭謝謝!這是... – Osman

+0

$('#password').val()。match(/ [a-z] /))這個工作,但它需要數字! – Osman

+1

檢查它是否包含「一個字母」,它不檢查它是否包含「僅字母」。 – Quentin

0

不,這不會工作,因爲你必須使用match()功能。

我還建議,如果你只想要數字,那麼你應該嘗試只驗證數字。

除數字外不允許其他任何內容。

if($('#password').val().match(/[0-9]+/)){ 
    // Contains only numbers from 0-9 
} 
+0

我是數字和字母,不只是數字或只有字母。我現在的問題是,當我以1爲例時,它會返回true。 – Osman