匹配8-16位数字和字母与特殊字符密码的正则表达式

匹配8-16位数字和字母密码的正则表达式

 /**
  *  ^匹配一行的开头位置 (?![0-9]+$) 
  *  预测该位置后面不全是数字 (?![a-zA-Z]+$) 
  *  预测该位置后面不全是字母 [0-9A-Za-z]
  *  {8,16} 由8-16位数字或这字母组成 $ 匹配行结尾位置
  */
  String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"; 

匹配8-16位,至少有一个大写字母和一个数字,不能有三个相同的字符,特殊字符包括~!@&$%^*()_#

String regex = "^(?=.*[A-Z])(?=.*[0-9])(?!.*([~!@&%$^\\(\\)#_]).*\\1.*\\1)[A-Z0-9~!@&%$^\\(\\)#_]{8,16}$"; 

 

你可能感兴趣的:(Java)