例子和解析
強密碼需要同時含有大寫字母、小寫字母、數(shù)字、特殊符號。
這邊先展示我自己寫的。
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])[a-zA-Z0-9!@#$%?_]{8,}$
以上代8位以上的強密碼。
下面是具體解析:
^代表開始
$代表結(jié)尾
(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])這四個是對字符進行判定
(?=.*[a-z])判斷小寫字母是否存在
(?=.*[a-z])判斷大寫字母是否存在
(?=.*[0-9])判斷數(shù)字是否存在
(?=.*[!@#$%?])判斷特殊字符是否存在,特殊字符可以自行添加
[a-zA-Z0-9!@#$%?_]{8,}代表要從[]內(nèi)的字符中任取一個,共8位
[]是取一個 ()是都要滿足 {}是取幾位
最小位數(shù)必填,最大位數(shù)可不填,我的例子里只有最小位數(shù)為8
測試工具
正則表達式測試工具里可以自行檢測寫的對不對文章來源:http://www.zghlxwxcb.cn/news/detail-634697.html
Java中的應(yīng)用
目前較為簡便的一種使用方法是搭配ApiModel和Pattern對變量進行配置。
如文章來源地址http://www.zghlxwxcb.cn/news/detail-634697.html
@ApiModel(value="User" description="用戶對象")
public class User{
@Pattern(regexp = "^(?=.*[A-Za-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])[a-zA-Z0-9!@#$%?_]{8,}$")
private String pwd;
}
前端vue的reactive中使用
{pattern: '^(?=.*[A-Za-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%?])[a-zA-Z0-9!@#$%?_]{8,}$', message:'密碼包含大寫字母、小寫字母、數(shù)字、特殊字符', trigger: 'blur'}
到了這里,關(guān)于使用正則表達式設(shè)置強密碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!