簡體   English   中英

需要“至少兩個”某些字符的密碼正則表達式

[英]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}$

更新 2020-09-07

如果字符串應該包含在列表 3 組 4 的符號

^(?!.*[^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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM