2014-02-24 73 views
0

我試圖創建一個只能接受 數字和字母(a-zA-Z)的密碼的正則表達式。輸入類型在正則表達式中的限制

在密碼中至少要有一位數字,並且至少有一個字母。所有10-12個符號之間的文字。

我創建的下一個REGEX

/^(?=.*[A-Za-z])(?=.*[0-9]).{10,12}$/ 

的問題是,像$,%me,@,space任何跡象也是可以接受的。

如何添加規則說任何其他標誌接受字母,數字不是acatbale?

回答

1

而不是使用.,這是任何字符,請使用[A-Za-z0-9]

/^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]{10,12}$/ 

的向前看符號只要在那裏我會滿足是10-12字符列表中的單個字母和單個數字字符,但.允許任何其他8-10個字符爲任何東西。

但是,我建議你不要這樣做,因爲對密碼的要求不是好事。你應該讓人們輸入他們想要的任何密碼。

+0

...在製作務必妥善逃避所有輸入。 (必須提及的情況下) – indivisible

+0

作品!感謝您的建議 – Dima

-1

試試這個:

/^[a-zA-Z0-9]*$/ 

與限制:

/^[a-zA-Z0-9]{10,12}$/ 
+1

此RegEx接受'|'以及:) – thefourtheye

+0

要求是至少有一個字母和至少一個數字字符,但您的正則表達式允許所有字母或所有數字字符 –