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