密码校验正则表达式(java 环境)


密码校验需求:

1) 密码控制只能输入字母、数字、特殊符号(~!@#$%^&*()_+[]{}|\;:'",./<>?)
2) 长度 6-16 位,必须包括字母、数字、特殊符号中的2种
3) 密码不能包含用户名信息


判断密码是否包含数字:包含返回1,不包含返回0
int i = newPwd.matches(".*\\d+.*") ? 1 : 0;

判断密码是否包含字母:包含返回1,不包含返回0
int j = newPwd.matches(".*[a-zA-Z]+.*") ? 1 : 0;

判断密码是否包含特殊符号(~!@#$%^&*()_+|<>,.?/:;'[]{}\):包含返回1,不包含返回0
int k = newPwd.matches(".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*") ? 1 : 0;

判断密码长度是否在6-16位
int l = newPwd.length();

判断密码中是否包含用户名
boolean contains = newPwd.contains(userId);

if (i + j + k < 2 || l < 6 || l > 16 || contains) {
  return Password error;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM