正则表达式验证-必须有字母、数字、特殊字符

来源:互联网 发布:二手摩托车交易软件 编辑:程序博客网 时间:2024/05/16 13:43

<!--必须有字母数字和特殊符号-->

原理: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("可以");
 }

 

 

原创粉丝点击