我只是在使用 JSHint 清理我的代码,并且它为这段代码抛出了一个错误。
if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,£,(,)]/)) {
score++;
}
错误是Unescaped '^'.
基本上我想为更复杂的密码提供更多积分?
我只是在使用 JSHint 清理我的代码,并且它为这段代码抛出了一个错误。
if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,£,(,)]/)) {
score++;
}
错误是Unescaped '^'.
基本上我想为更复杂的密码提供更多积分?
在正则表达式中,^
字符表示NOT,因此出于某种原因(可能是为了安全起见)JSHint 要求您对其进行转义(破折号也是如此-
):
/[!@#$%\^&*?_~\-£(),.]/
另外您应该注意,在集合中不需要用逗号分隔符号。
您可以在MDN中阅读有关正则语法的更多信息。