我有一個用于驗證密碼的正則運算式。
/[\w\d]*(([0-9] .*[A-Za-z] .*)|[A-Za-z] .*([0-9] .*))/
此正則運算式匹配其中包含字母和數字的任何單詞。
我還想添加最小長度限制,我知道我們可以使用{4,}添加最小長度為 4。
但我無法弄清楚如何將這個最小長度添加到整個運算式中。
例如:
上述正則運算式匹配p12為有效。
我不希望它匹配長度小于 4 的字母和數字的單詞。
我試過這個,但這不起作用
/[\w\d]*(([0-9] .*[A-Za-z] .*)|[A-Za-z] .*([0-9] .*)){4,}/
任何有關為整個運算式添加最小長度限制的幫助都將得到應用。
謝謝你。
uj5u.com熱心網友回復:
使用\w也匹配\d所以這部分[\w\d]*可以寫成\w*
如果您只想匹配單詞字符,您可以使用例如 2 個斷言來表示 char az 和一個數字。
使用不區分大小寫的模式:
/^(?=[^\d\n]*\d)(?=[^a-z\n]*[a-z])\w{4,}$/i
正則運算式演示
const regex = /^(?=[^\d\n]*\d)(?=[^a-z\n]*[a-z])\w{4,}$/;
[
"p12",
"1234",
"abcs",
"p123"
].forEach(s => console.log(`${s} --> ${regex.test(s)}`));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/453906.html
標籤:javascript 正则表达式
下一篇:如何洗掉報價?
