我有密碼驗證JavaScript中的正則表達式如下:正則表達式沒有驗證
^[!#\$%\(\)\*,\-\./:;=\[email protected]\[\\\]\^_`\{\|\}~a-zA-Z0-9]*$
<script type="text/javascript">
var regex = "^[!#\$%\(\)\*,\-\./:;=\[email protected]\[\\\]\^_`\{\|\}~a-zA-Z0-9]*$";
var value = 'test';
if (value.match(regex) == false) {
alert('password invalid');
}
</script>
正則表達式規則是:
- 12-25個字符
- 至少一個大寫字母
- 至少有一個小寫字母
- 至少有一個數字 !10特殊字符
- 至少一個:#$%()*, - 。/:; = []^_`@ {|}〜
然而,正則表達式似乎不工作。它匹配任何字符。我該如何解決?
首先,我沒有看到在該強制執行12-25個字符限制的正則表達式的任何地方。您似乎剛剛使用*表示'0或更多' - 您當前的正則表達式正好是: 開始 - 您的四個項目符號點(包括0)中的任意數量的字符 - 結束 – Ina
將您的正則表達式分成3個正則表達式檢查所有規則。 – gaussblurinc