js 正則驗證密碼強度(包含數(shù)字+特殊字符+英文字母大小寫)
前言
記錄一下js正則密碼要求匹配方法。
正文
下方正則共包括四種篩選,可以根據(jù)需要去除對應(yīng)括號內(nèi)容即可:
- (?=.{12})表示要大等于12位。
- (?=.*?[a-z])表示要有小寫字母。
- (?=.*?[A-Z])表示要有大寫字母。
- (?=.*?\d)表示要有數(shù)字。
- (?=.?[?!&¥$%^#,./@";:><[]}{-=+_\|》《。,、?’‘“”~ `])表示要有特殊字符。
const password = 'Cc1239999***'
const check = /^(?=.{12})(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[*?!&¥$%^#,./@";:><\[\]}{\-=+_\\|》《。,、?'‘“”~ `]).*$/;
if (check.test(password)) {
console.log('ok')
} else {
console.log('false')
}
補充:js正則表達式驗證密碼強度,必須包含數(shù)字,大寫字母,小寫字母,特殊字符四選三。驗證數(shù)字,大寫字母,小寫字母,特殊字符四選三組成的密碼強度,且長度在8到30個數(shù)之間
表達式:
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}$
js寫法:
var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}$');
if(!regex.test(pwd)){
msgError("輸入錯誤:密碼不符合規(guī)則,請重新輸入。");
$("#password").focus();
return;
}
解析:
- [a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}表示四種的全部匹配的表達式
- \w 是匹配任意不是字母,數(shù)字,下劃線,漢字的字符,這里因為有些特殊字符匹配不了我添加了其他特殊字符!@#$%^&*`~()-+=
- 然后使用排除法,排除其中只選一種或只選兩種的情況,剩下的就是選了三種的情況了。
- (?![a-zA-Z]+$)表示排除小寫字母和大寫字母的匹配以此類推排除其他情況就得到最終表達式
到此這篇關(guān)于js 正則驗證密碼強度(包含數(shù)字+特殊字符+英文字母大小寫)的文章就介紹到這了,更多相關(guān)js 正則驗證密碼強度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript打印大全(打印頁面設(shè)置/打印預(yù)覽代碼)
打印頁面設(shè)置,打印頁面預(yù)覽在打印過程中經(jīng)常會遇到,網(wǎng)上搜集整理了一些實用的打印方法與大家分享,感興趣的朋友可以了解下哈2013-03-03
javascript之Partial Application學習
在數(shù)學中,一個函數(shù)是描述每個輸入值對應(yīng)唯一輸出值的這種對應(yīng)關(guān)系,符號為 f(x)。例如,表達式 f(x)=x2表示了一個函數(shù) f,其中每個輸入值x都與唯一輸出值x2相聯(lián)系2013-01-01
Bootstrap Tooltip顯示換行和左對齊的解決方案
小編在使用Bootstrap的Tooltip功能時遇到一些小問題,換行丟失,文字不是左對齊。下面小編給大家介紹下Bootstrap Tooltip顯示換行和左對齊的解決方案,感興趣的朋友一起看看吧2017-10-10

