[英]Regular Expression for password validation
誰能幫助我創建用於密碼驗證的正則表達式。
條件為“密碼必須包含8個字符和至少一個數字,一個字母和一個唯一字符,例如!#$%&? "
^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#$%&? "]).*$
---
^.* : Start
(?=.{8,}) : Length
(?=.*[a-zA-Z]) : Letters
(?=.*\d) : Digits
(?=.*[!#$%&? "]) : Special characters
.*$ : End
嘗試這個
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\W]).{6,20})
以上正則表達式的描述:
( # Start of group
(?=.*\d) # must contains one digit from 0-9
(?=.*[a-z]) # must contains one lowercase characters
(?=.*[\W]) # must contains at least one special character
. # match anything with previous condition checking
{8,20} # length at least 8 characters and maximum of 20
) # End of group
“ / W”將增加可用於密碼的字符范圍,並且坑更安全。
您可以輕松地滿足每個單獨的要求(例如,最少8個字符: .{8,}
將匹配8個或更多字符)。
要組合它們,可以使用“正向超前”將多個子表達式應用於同一內容。 像(?=.*\\d.*).{8,}
用於將一個(或多個)數字與前瞻性匹配,以及8個或更多字符。
所以:
(?=.*\d.*)(?=.*[a-zA-Z].*)(?=.*[!#\$%&\?].*).{8,}
記住要逃脫元字符。
密碼具有以下條件:
無空格
'use strict'; (function() { var foo = '3g^g$'; console.log(/^(?=.*\\d)(?=(.*\\W){2})(?=.*[a-zA-Z])(?!.*\\s).{1,15}$/.test(foo)); /** * (?=.*\\d) should contain at least 1 digit * (?=(.*\\W){2}) should contain at least 2 special characters * (?=.*[a-zA-Z]) should contain at least 1 alphabetic character * (?!.*\\s) should not contain any blank space */ })();
您可以為javascript
驗證創建自己的正則表達式;
(/^
(?=.*\d) //should contain at least one digit
(?=.*[a-z]) //should contain at least one lower case
(?=.*[A-Z]) //should contain at least one upper case
[a-zA-Z0-9]{8,} //should contain at least 8 from the mentioned characters
$/)
例如:-/ /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/
- /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/
- /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/
- /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/
- /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.