Javascript 正则表达式严格检查字母数字和特殊字符

Javascript 正则表达式严格检查字母数字和特殊字符,javascript,regex,special-characters,alphanumeric,Javascript,Regex,Special Characters,Alphanumeric,用特殊字符检查字母数字的步骤 var regex = /^[a-zA-Z0-9_$@.]{8,15}$/; return regex.test(pass); 但是,上面的正则表达式返回true即使我通过了以下组合 asghlkyudet 78346709tr jkdg7683786 但是,我想知道,它必须有字母数字和特殊字符,否则在任何情况下都必须返回false。例: fg56\u fg$ Sghdfi@90美元符号是正则表达式的保留字符。你需要逃避它 var regex = /^[a-

用特殊字符检查字母数字的步骤

var regex = /^[a-zA-Z0-9_$@.]{8,15}$/;
   return regex.test(pass);
但是,上面的正则表达式返回
true
即使我通过了以下组合

asghlkyudet

78346709tr

jkdg7683786

但是,我想知道,它必须有字母数字和特殊字符,否则在任何情况下都必须返回false。例:

fg56\u fg$


Sghdfi@90

美元符号是正则表达式的保留字符。你需要逃避它

var regex = /^[a-zA-Z0-9_/$@.]{8,15}$/;

使用“向前看”检查字符串是否至少包含一个字母数字字符和至少一个特殊字符:

/^(?=.*[a-zA-Z0-9])(?=.*[_$@.])[a-zA-Z0-9_$@.]{8,15}$/

顺便说一下,特殊字符集太小了。即使考虑ASCII字符集,这也不是所有的特殊字符。

可以用<代码> > w < /代码>代替<代码> -AZ-Z09> <代码>,并使用两个锚定的外观头——一个为特殊的,一个为非特殊的,最简单的表达方式是:

/^(?=.*[_$@.])(?=.*[^_$@.])[\w$@.]{8,15}$/

您的下划线中包含regexp参数。是。。我认为下划线是一个特殊的字符,我不明白你想达到什么目的。也许还有更多的例子说明你想返回false。只接受字母数字和特殊字符,这在正则表达式中提到过,而不是它应该返回false。我还提到了两个输入正确的例子和三个输入错误的例子对不起,这没有帮助