正则expression式用于密码validation
任何人都可以帮我创build一个正则expression式来进行密码validation。
条件是“密码必须包含8个字符和至less一个数字,一个字母和一个独特的字符,如!#$%&? " 
 ^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#$%&? "]).*$ --- ^.* : Start (?=.{8,}) : Length (?=.*[a-zA-Z]) : Letters (?=.*\d) : Digits (?=.*[!#$%&? "]) : Special characters .*$ : End 
尝试这个
 ((?=.*\d)(?=.*[az])(?=.*[AZ])(?=.*[\W]).{6,20}) 
以上正则expression式的描述:
 ( # Start of group (?=.*\d) # must contains one digit from 0-9 (?=.*[az]) # 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”将增加可用于密码的字符的范围,并且坑可以更安全。
 您可以很容易地达到每个个人需求(例如,最less8个字符: .{8,}将匹配8个或更多个字符)。 
 要合并它们,您可以使用“积极向前”将多个子expression式应用于相同的内容。 类似(?=.*\d.*).{8,}来匹配一个(或多个)数字与超前,以及8个或更多的字符。 
所以:
 (?=。* \ d *)(?=。* [A-ZA-Z]。*)(?=。* [!#\ $%&\?]。*)。{8,}
记住要转义元字符。
具有以下条件的密码:
- 至less1位数字
- 至less2个特殊字符
- 至less1个字母字符
- 
没有空白 '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 */ })();
 你可以使你自己的正则expression式的javascriptvalidation; 
  (/^ (?=.*\d) //should contain at least one digit (?=.*[az]) //should contain at least one lower case (?=.*[AZ]) //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,}$/