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

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

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

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值