4.当且仅当含数字和字母的密码验证
如果密码当且仅当包含数字和字母,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证当且仅当包含数字和字母的密码。
[/da-zA-Z]*/d+[a-zA-Z]+[/da-zA-Z]* (74)
正则表达式(74)解释:
/d匹配长度至少1的、由数字组成的字符串。
[a-zA-Z]+匹配长度至少1的、由字母组成的字符串。
[/da-zA-Z]*匹配空字符串,或者长度至少1的、由数字或字母组成的字符串。
/d+[a-zA-Z]+保证密码既包含了数字又包含特殊字符。
使用工具Regex Tester测试正则表达式(74),结果如图所示。
5.当且仅当含数字和特殊字符的密码验证
如果密码当且仅当包含数字和特殊字符,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证当且仅当包含数字和特殊字符的密码。
[-/d`=///[/];',./~!@#$%^&*()_+|{}:"<>?]*/d+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+[-/d`=///[/];',./~!@#$%^&*()_+|{}:"<>?]* (75)
正则表达式(75)解释:
字符类[-/d`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+:/d表示任意数字;//表示字符/;/[表示字符[;/]表示字符];其他的每一个字符就表示字符本身。该字符类可以匹配数字或者特殊字符。
/d+匹配最小长度为1的、由数字组成的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+匹配最小长度为1的、由特殊字符组成的字符串。
/d+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+保证密码既包含了数字又包含特殊字符。
使用工具Regex Tester测试正则表达式(75),结果如图所示。
如果密码当且仅当包含字母和特殊字符,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证只包含字母和特殊字符的密码。
[-a-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:"<>?]*[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+[-a-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:"<>?]* (76)
正则表达式(76)解释:
字符类[-a-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+:a-z表示小写字母;A-Z表示大写字母;//表示字符/;/[表示字符[;/]表示字符];其他的每一个字符就表示字符本身。该字符类可以匹配字母或者特殊字符。
[a-zA-Z]+匹配最小长度为1的、由字母组成的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+匹配最小长度为1的、由特殊字符组成的字符串。
[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+保证密码既包含了字母又包含特殊字符。
使用工具Regex Tester测试正则表达式(76),结果如图所示。
7.当且仅当包含数字、字母和特殊字符的密码验证
如果密码当且仅当包含数字、字母和特殊字符,那么该密码的强度是高强度。当然,它的安全性相对比较好。以下正则表达式能够验证当且仅当包含数字、字母和特殊字符的密码。
[-/da-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:"<>?]*
(
(/d+[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+) #数字开头
|(/d+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+[a-zA-Z]+) #数字开头
|([a-zA-Z]+/d+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+) #字母开头
|([a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+/d+) #字母开头
|([-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+/d+[a-zA-Z]+) #特殊字符开头
|([-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+[a-zA-Z]+/d+) #特殊字符开头
)
[-/da-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:"<>?]* (77)
正则表达式(77)解释:
/d+匹配最小长度为1的、由数字组成的字符串。
[a-zA-Z]+匹配最小长度为1的、由字母组成的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+匹配最小长度为1的、由特殊字符组成的字符串。
/d+[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+匹配型如“数字+字母+特殊字符”类型的字符串。
(/d+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+[a-zA-Z]+)匹配型如“数字+特殊字符+字母”类型的字符串。
[a-zA-Z]+/d+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+匹配型如“字母+数字+特殊字符”类型的字符串。
[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+/d+匹配型如“字母+特殊字符+数字”类型的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+/d+[a-zA-Z]+匹配型如“特殊字符+数字+字母”类型的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:"<>?]+[a-zA-Z]+/d+匹配型如“特殊字符+字母+数字”类型的字符串。
字符类[-/da-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:"<>?]*:/d表示任意数字;a-z表示小写字母;A-Z表示大写字母;//表示字符/;/[表示字符[;/]表示字符];其他的每一个字符就表示字符本身。该字符类可以匹配数字、字母或者特殊字符。
使用工具Regex Tester测试正则表达式(77),结果如图所示。