包含一个特殊字符(!,@,#,&),不包括其他特殊字符

时间:2015-03-09 09:55:35

标签: javascript jquery regex

我想测试密码字段,并会更新结果的html。

其中一个是:

包含一个特殊字符(!,@,#,&),不包含其他特殊字符

我有像这样的第一个测试条件

    reg=  new RegExp('(?=.*[!@#&])');
    var regexmatch=reg.test(password);
  • 任何人都可以告诉我如何在一个正则表达式中测试这个条件

2 个答案:

答案 0 :(得分:2)

据我所知,你的意思是:

/^[a-z\d!@#&]+$/i

这只允许使用字母,数字和4个符号。

答案 1 :(得分:1)

(?=.*[!@#&])(?!.*[^!@#&])

这应该适合你。negative lookahead不允许使用其他特殊字符。

reg=  new RegExp('(?=.*[!@#&])(?!.*[^!@#$])');
var regexmatch=reg.test(password);

如果允许使用字母数字

^(?=.*[!@#&])(?!.*[^!@#&a-zA-Z0-9\n])[a-zA-Z0-9!@#&]+$

试试这个。看看演示。它只允许alphanumerics!@#&

https://regex101.com/r/eS7gD7/32

相关问题