我有以下的javascript代碼爲我的密碼強度指示特殊字符:!不要讓除允許的字符JavaScript的正則表達式
if (password.match(/([!,@,#,$,%])/)
{
strength += 2
}
所以這做的是什麼,如果密碼中包含這些允許的字符中的一個(, @,#,$,%),它會爲指標的強度增加一個值。
我的問題是我也想減少密碼指示燈的強度,一旦其他特殊字符出現在密碼上。例如:^,`,〜,<,>
爲了消除混淆,基本上我不想要除上面出現的(!,@,#,$,%)以外的任何其他特殊字符。所以我做了硬編碼,寫了所有我不想要的特殊字符。
我嘗試使用這樣的:
if (password.match(/([^,`,~,<,>])/)
{
strength -= 2
}
但是我也不想有"
,'
和,
但當時如果我包括他們對我的if條件,就會把我一個錯誤說語法錯誤正則表達式。我明白這一點,因爲我知道"
代表一個必須關閉的字符串。我能做點什麼嗎?提前致謝!
請教你:[正則表達式(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Special_characters_in_regular_expressions) – Teemu
只是提醒你,正則表達式的'[]'中的字符不是逗號分隔的,它也不需要任何分隔符。 – Diryboy
不要在brakets內使用逗號'[!@#$%]'和'[^ \'〜<>]' – jcubic