检查带有特殊字符的字母数字

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


但是,即使我通过以下组合,上述正则表达式也会返回true

asghlkyudet

78346709tr

jkdg7683786

但是,我要这样,它必须具有字母数字和特殊字符,否则在任何情况下都必须返回false。例如:

fg56_fg$

Sghdfi@90

最佳答案

您可以将a-zA-Z0-9_替换为\w,并使用两个锚定的前瞻-一个用于特殊,另一个用于非特殊,最简单的表达方式是:

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

关于javascript - 正则表达式严格检查字母数字和特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18863477/

10-12 18:08