java正则校验必须包括字母、数字和字符(6-12位)

java正则校验,必须包括字母数字字符

public static String checkPassword(String passwordStr) {
    if (passwordStr != null && !"".equals(passwordStr) && (passwordStr.length() < 6 || passwordStr.length() > 12)) {
        return "密码为 6-12 位字母、数字或英文字符!";
    }

    // Z = 字母       S = 数字           T = 特殊字符
    String regexZ = "[A-Za-z]+";
    String regexS = "^\\d+$";
    String regexT = "[~!@#$%^&*.]+";
    String regexZT = "[a-zA-Z~!@#$%^&*.]+";
    String regexZS = "[0-9A-Za-z]+";
    String regexST = "[\\d~!@#$%^&*.]*";
    String regexZST = "[\\da-zA-Z~!@#$%^&*.]+";
 
    if (passwordStr.matches(regexZ)){
        return "纯字母,弱";
    }
    if (passwordStr.matches(regexS)){
        return "纯数字,弱";
    }
    if (passwordStr.matches(regexT)){
        return "纯字符,弱";
    }
    if (passwordStr.matches(regexZT)){
        return "字母字符,中";
    }
    if (passwordStr.matches(regexZS)){
        return "字母数字,中";
    }
    if (passwordStr.matches(regexST)){
        return "数字字符,中";
    }
    if (passwordStr.matches(regexZST)) {
        return "强";
    }
    return "不知道是啥";
}

测试:

public static void main(String[] args)
{
    System.out.println(checkPassword("qqqqqq"));
    System.out.println(checkPassword("111111"));
    System.out.println(checkPassword("......"));
    
    System.out.println(checkPassword("qqq..."));
    System.out.println(checkPassword("111qqq"));
    System.out.println(checkPassword("111..."));
    
    System.out.println(checkPassword("11qq.."));
    System.out.println(checkPassword("11..qq"));
    System.out.println(checkPassword("qq..11"));
    System.out.println(checkPassword("qq11.."));
    System.out.println(checkPassword("..11qq"));
    System.out.println(checkPassword("..qq11"));
}

输出:

js正则:

if (!(/^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*.])[\da-zA-Z~!@#$%^&*.]$/.test(newPassword))) {
	alert("密码必须包括字母、数字和英文字符!");
	return;
}

 

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值