2015-11-17 81 views
-1

我需要一個密碼的正則表達式。該密碼必須有4個數字後跟1個字母。正則表達式,Javascript(4數量和1個字母)

例如:

1234A

我的代碼isn't工作:

var txt = new RegExp("/([0-9]{4}[a-z]{1})"); 
var pass = document.getElementById("pass").value; 

if (txt.test(pass)) { 
    alert("OK"); 
} else { 
    alert("No OK"); 
} 
+0

你需要開始和結束錨。試試這個:'^ \ d {4} [A-Za-z] $'。 – lintmouse

+1

這聽起來像是家庭作業,因爲它只是我能想象的真實密碼的最嚴格限制。 – Blazemonger

+1

即使是作業,問題至少在於評估OP編寫的代碼,而不只是要求我們給出答案 – Gareth

回答

3

當您使用new RegExp你不需要有/開始和您傳遞給它的字符串的結尾。使用此:

var txt = new RegExp("([0-9]{4}[a-z]{1})"); 

如果你想要任何修飾通過使用new RegExp正則表達式,然後將它們作爲第二個參數:

var txt = new RegExp("([0-9]{4}[a-z]{1})", "i"); 
+1

兩個缺點:1)構造函數被使用,而文字符號更可取,2)沒有錨用於允許像'#$ @ RFWEEabcd1er45 $$$$'這樣的字符串。 –

+0

@stribizhev - OP是否說其他人物不好?他只說它必須有4個字母,然後在某個地方編號。 – sln

+0

我看你把它翻譯成*包含*。我很確定OP意味着*等於*。但是,如果問題不清楚,我寧願不要再發表評論。 –

相關問題