使用正则表达式设置强密码

文章目录

例子和解析

强密码需要同时含有大写字母、小写字母、数字、特殊符号。

这边先展示我自己写的。

javascript 复制代码
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])[a-zA-Z0-9!@#$%?_]{8,}$

以上代8位以上的强密码。

下面是具体解析:

java 复制代码
^代表开始
$代表结尾
(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])这四个是对字符进行判定
(?=.*[a-z])判断小写字母是否存在
(?=.*[a-z])判断大写字母是否存在
(?=.*[0-9])判断数字是否存在
(?=.*[!@#$%?])判断特殊字符是否存在,特殊字符可以自行添加
[a-zA-Z0-9!@#$%?_]{8,}代表要从[]内的字符中任取一个,共8位
[]是取一个    ()是都要满足    {}是取几位
最小位数必填,最大位数可不填,我的例子里只有最小位数为8

测试工具

正则表达式测试工具里可以自行检测写的对不对

Java中的应用

目前较为简便的一种使用方法是搭配ApiModel和Pattern对变量进行配置。

java 复制代码
@ApiModel(value="User" description="用户对象")
public class User{
	@Pattern(regexp = "^(?=.*[A-Za-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])[a-zA-Z0-9!@#$%?_]{8,}$")
	private String pwd;
}
相关推荐
花生的酱14 小时前
Shell编程之正则表达式与文本处理器
linux·运维·正则表达式
醒着的睡着的人21 小时前
Python---re模块(正则表达式)
python·正则表达式
白萝卜弟弟21 小时前
【JAVA】正则表达式中的捕获组和非捕获组
java·正则表达式
chusheng184021 小时前
Python 正则表达式进阶用法:量词与范围
python·mysql·正则表达式
Desmend__21 小时前
正则表达式那些事儿
数据库·mysql·正则表达式
殷丿grd_志鹏21 小时前
Python爬虫知识体系-----正则表达式-----持续更新
爬虫·python·正则表达式
chusheng184021 小时前
Python 正则表达式进阶用法:分组与引用详解
数据库·python·正则表达式
y0ungsheep1 天前
[FBCTF 2019]rceservice 详细题解
安全·web安全·网络安全·正则表达式·php
胡西风_foxww2 天前
PHP正则表达式
正则表达式·php·preg_match·preg_replace·preg_split·preg_grep·preg_match_all
golitter.2 天前
python正则表达式库及re学习01
python·学习·正则表达式