java,jsp验证密码复杂度的正则表达式

本文详细介绍了使用Java进行密码强度验证的各种正则表达式,覆盖从简单到复杂的多种场景,包括仅数字或字母、包含特殊字符、中级复杂度(字母加数字)以及高级复杂度(同时包含数字、字母和特殊符号)的密码规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 验证密码复杂度的正则表达式

复杂(同时包含数字,字母,特殊符号)
方法一
"^^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*_-]+$)(?![a-zA-z\\d]+$)(?![a-zA-z!@#$%^&*_-]+$)(?![\\d!@#$%^&*_-]+$)[a-zA-Z\\d!@#$%^&*_-]+$"
方法二(已验证)
^(?![0-9]+$)(?![^0-9]+$)(?![a-zA-Z]+$)(?![^a-zA-Z]+$)(?![a-zA-Z0-9]+$)[a-zA-Z0-9\\S]+$

简单(只包含数字或字母)
"^(?:\\d+|[a-zA-Z]+|[!@#$%^&*]+)$"

简单(只包含特殊字符)
"^[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]*$"

中级(包含字母和数字)
"^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*]+$)[a-zA-Z\\d!@#$%^&*]+$"

有一个密码复杂度的要求

1,只能有数字和字母组合,可以出现@#$三种符号

2,长度只能6-8位

2,字母必须2位或以上

3,数字必须1位或以上

(?=[a-zA-Z0-9@$#]*(?:[@$#]*[a-zA-Z]{2,}[0-9]{1,}|[@$#]*[0-9]{1,}[a-zA-Z]{2,}|[a-zA-Z]{2,}[@$#]*[0-9]{1,}|[a-zA-Z]{2,}[0-9]{1,}[@$#]*|[0-9]{1,}[@$#]*[a-zA-Z]{2,}|[0-9]{1,}[a-zA-Z]{2,}[@$#]*))[a-zA-Z0-9@$#]{6,8}$

JSP 验证密码复杂度的正则表达式

 验证过了

 "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,20}$"

 

http://www.cnblogs.com/feynman61/p/9419640.html 

http://www.runoob.com/regexp/regexp-syntax.html 

正则中的方括号是指满足方括号中要求的“一个字符”。

  1. [a-z]是指小写字母中的一个字符
  2. [A-Z]是指大写字母中的一个字符
  3. [0-9]是指数字中的一个字符
  4. [a-zA-Z0-9_-]是指大小写字母、数字、下划线、横线中的一个字符
  5. [a-z][A-Z][0-9]是指三个字符,其中第一个是小写字母,第二个是大写字母,第三个是数字

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值