4.4.5 密码验证(2)

  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),结果如图所示。

 

 

 

6.当且仅当包含字母和特殊字符的密码验证

  如果密码当且仅当包含字母和特殊字符,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证只包含字母和特殊字符的密码。

[-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),结果如图所示。

4.4.5 密码验证(2)_第1张图片

 

你可能感兴趣的:(正则表达式,regex,工具,测试)