密碼校驗正則表達式(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