[英]Password regex that requires “at least two of” certain characters
我正在研究 javascript 正則表達式,其中包括具有以下條件。 到目前為止沒有運氣。
- 允許的最小字符數為 8。
- 允許的最大字符數為 64。
- 輸入的文本應至少包含以下兩項 - 數字、小寫字母、大寫字母、特殊字符。
- 不支持輸入符號。
到目前為止,我有什么是這個@anubhava答案在這里。
^(?=.*?[AZ])(?=.*?[az])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,63}$
此正則表達式將強制執行以下規則:
- 至少一個大寫英文字母,(?=.*?[AZ])
-至少一個小寫英文字母,(?=.*?[az])
- 至少一位,(?=.*?[0-9])
- 至少一個特殊字符,(?=. ?[#?!@$%^& -])
- 長度至少為 8 .{8,63}(帶錨點)
我的問題是如何滿足我的第三個和第四個條件,即:-
- 輸入的文本應至少包含以下兩項 - 數字、小寫字母、大寫字母、特殊字符。
- 不支持輸入符號。
任何幫助,將不勝感激。
var regex =/^(?=.*\\d)(?=.*[!@#$%^&*])(?=.*[az])(?=.*[AZ]).{8,64}$/; function test() { if(regex.test(document.getElementById("txtPassword").value)===false) { alert("Min 8,Max 64,At Least One Uppercase Character,One Lowercase Character,One Numeric Value And One Special Character(!@#$%^&*) Required "); } else { alert("Success"); } }
<input type="text" id="txtPassword" /> <button id="testBtn" onclick=test()>CheckPassword</button>
^(?!.*[^A-Za-z0-9#?!@$%^&*-]$)(?![a-z]*$)(?![A-Z]*$)(?![0-9]*$)(?![#?!@$%^&*-]*$).{8,64}$
字符串不應包含 4 組字符之外的任何符號
^(?!.*[^A-Za-z0-9#?!@$%^&*-]$)
字符串不應只包含小寫字母
(?![a-z]*$)
字符串不應僅由大寫字母組成
(?![A-Z]*$)
字符串不應僅由數字組成
(?![0-9]*$)
字符串不應僅包含特殊字符
(?![#?!@$%^&*-]*$)
字符串應包含 8 到 64 個字符
.{8,64}$
^(?!.*[^A-Za-z0-9#?!@$%^&*-]$)((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[#?!@$%^&*-])|(?=.*[a-z])(?=.*[0-9])(?=.*[#?!@$%^&*-])|(?=.*[A-Z])(?=.*[0-9])(?=.*[#?!@$%^&*-])).{8,64}$
字符串不應包含 4 組字符之外的任何符號
^(?!.*[^A-Za-z0-9#?!@$%^&*-]$)
然后是符號應該是成員的 3 組 4 組的 4 個變體:
(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])
或者
(?=.*[a-z])(?=.*[A-Z])(?=.*[#?!@$%^&*-])
或者
(?=.*[a-z])(?=.*[0-9])(?=.*[#?!@$%^&*-])
或者
(?=.*[A-Z])(?=.*[0-9])(?=.*[#?!@$%^&*-])
最后字符串應該由 8 到 64 個字符組成
.{8,64}$
文本至少包括以下兩項- 數字、小寫字母、大寫字母、特殊字符。 [A-Za-z0-9#?!@$%^&*-] 之外沒有字符
^(?=.*?[A-Z])(?=.*?[a-z])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[A-Z])(?=.*?[0-9])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[A-Z])(?=.*?[#?!@$%^&*-])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[a-z])(?=.*?[0-9])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[a-z])(?=.*?[#?!@$%^&*-])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[0-9])(?=.*?[#?!@$%^&*-])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$
文本至少包括以下三個- 數字、小寫字母、大寫字母、特殊字符。 [A-Za-z0-9#?!@$%^&*-] 之外沒有字符
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[#?!@$%^&*-])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$|^(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-])(?!.*?[^A-Za-z0-9#?!@$%^&*-]).{8,63}$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.