<!--必須有字母數字和特殊符號-->
原理:3部實現,1.必須有數字;2.必須有字母;3.必須有特殊字符
此驗證方法如果碰到 '_' 則無法驗證,因此在3部必須加上'_'字符,因爲特殊字符/W裏面不包含'_'.
java代碼:
private Boolean isValid(String password){
boolean flag = false;
if (password.length() >= 8) {
/** 必須包含數字 */
String digit = "//S*[0-9]+//S*";
/** 必須包含英文字符 */
String letter = "//S*[a-zA-Z]+//S*";
/** 必須包含特殊字符 */
String especialChar = "//S*//W+//S*|//S*[_]+//S*";
if (Pattern.matches(digit, password)
&& Pattern.matches(letter, password)
&& Pattern.matches(especialChar, password)){
flag = true;
}
}
return flag;
}
jsp代碼:
var digit = /^/S*[0-9]+/S*$/;
var letter = /^/S*[a-zA-Z_]+/S*$/;
var letterAndDigit = /^/S*/W+/S*|/S*[_]+/S*$/;
if (!letterAndDigit.test(newPassword.value)
|| !letter.test(newPassword.value)
|| !digit.test(newPassword.value))){
alert("不可以");
}else{
alert("可以");
}