![](/img/trans.png)
[英]Regex - At least 1 number, 1 letter, 1 special character and at least 3 characters
[英]JavaScript regex for password containing at least 6 characters, 1 number, 1 letter, any special characters
我正在這樣嘗試:
(/^(?=.*\\d)(?=.*[az])(?=.*[AZ]).{6,}$/)
但它不起作用。
您可以使用/^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':"\\\\|,.<>\\/?]).{6,}$/
。
(?=.*\\d)
至少一位數字 (?=.*[a-zA-Z])
至少一個字母 (?=.*[!@#$%^&*()_+\\-=\\[\\]{};':"\\\\|,.<>\\/?])
至少一個特殊字符 使用match()
查找模式
$('#text').keyup(function() { $(this).css('border', this.value.match(/^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':"\\\\|,.<>\\/?]).{6,}$/) ? '5px solid green' : '5px solid red'); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="text" id="text" />
或者您也可以使用test()
查找匹配項
$('#text').keyup(function() { var re = new RegExp(/^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':"\\\\|,.<>\\/?]).{6,}$/); $(this).css('border', re.test(this.value) ? '5px solid green' : '5px solid red'); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="text" id="text" />
您需要在正則表達式中的開頭和結尾/
中刪除括號。
另外,您可能想將[az]
和[AZ]
為[a-zA-Z]
這樣就不必同時使用大寫和小寫字母,只需找到兩者之一即可。
嘗試利用String.prototype.match
var str1 = "abc1e."; var str2 = "abc1e "; // match special character; any character not digit , // not any alphanumeric character , including `_` , // not space character var res1 = str1.match(/[^\\d|\\w|\\s]/i); // if match found , concat digit , alphanumeric character // if resulting array length is 6 , return `true` , else return `false` res1 = !!res1 ? res1[0].concat(str1.match(/\\d+|\\w+/i)).length === 6 : false; var res2 = str2.match(/[^\\d|\\w|\\s]/i); res2 = !!res2 ? res2[0].concat(str1.match(/\\d+|\\w+/i)).length === 6 : false; console.log(res1, res2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.