【发布时间】:2013-08-23 06:46:29
【问题描述】:
我的密码强度指示器有以下 javascript 代码:
if (password.match(/([!,@,#,$,%])/)
{
strength += 2
}
因此,如果密码包含这些允许的字符之一(!、@、#、$、%),它将为指示器的强度添加一个值。
我的问题是,一旦密码上出现其他特殊字符,我还想降低密码指示器的强度。例如:^,`,~,
为了消除混淆,基本上我不想要任何其他特殊字符,除了上面存在的那些(!,@,#,$,%)。所以我做了硬编码,写了所有我不想要的特殊字符。
我试过用这个:
if (password.match(/([^,`,~,<,>])/)
{
strength -= 2
}
但我也不想包含 "、' 和 ,,但是如果我在 if 条件中包含它们,它会抛出一个错误,说正则表达式的语法错误。我理解这一点,因为我知道" 代表一个必须关闭的字符串。我能做点什么吗?提前致谢!
【问题讨论】:
-
请自学:RegExp
-
提醒您,正则表达式的
[]中的字符不是逗号分隔的,也不需要任何分隔符。 -
不要在括号
[!@#$%]和[^`~<>]中使用逗号 -
感谢您让我知道这些人。
标签: javascript regex