`

Regex:密码验证

    博客分类:
  • Java
阅读更多

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

 

转自:http://blog.csdn.net/wlzhengzebiaodashi/archive/2008/03/24/2211800.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics