2017-03-06 14 views
1

我試圖設置一個密碼輸入,它將強制每個小寫,大寫和數字中的至少一個,但同時拒絕任何其他輸入,如特殊字符。到目前爲止,即時通訊能夠強制每個之一,但一直沒能否認特殊字符.. 謝謝在同一個正則表達式上的強制和抑制

pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{5,25}" 
+0

禁止所有非字母數字字符通常不是關於密碼的好主意,它會降低密碼強度,並可能導致使用密碼管理器的用戶出現問題。 –

+0

我瞭解安全風險..這只是一個學校項目,更多隻是爲了我自己的好奇心,如何限制和強制在同一個正則表達式。謝謝 – JoelContreras

回答

1

您需要[a-zA-Z0-9]字符類,或任何字符來代替消費. /範圍允許你在您正則表達式:

pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{5,25}" 
             ^^^^^^^^^^^ 

的原因是.(除換行符字符等)的任何字符匹配。

注意:長度限制在這裏工作,因爲HTML5 pattern正則表達式默認爲錨定。

+1

謝謝你..這工作如預期..和幫助我瞭解我只是強迫而不是剋制.. – JoelContreras