正则表达式以任何顺序匹配至少两个特殊字符

时间:2015-06-04 15:59:40

标签: javascript regex validation passwords

我必须对密码进行jQuery表单验证。

密码应包含任意顺序的至少两个特殊字符。我试过了 Regular Expression for password validation但它没有说明两个随机特殊字符可以按任何顺序出现。

如何使用JavaScript正则表达式?

3 个答案:

答案 0 :(得分:1)

在没有必要的情况下,您不必使用环视。

如果您只需要确保字符串至少包含特定集合的2个字符,请使用这种正则表达式(使用否定类使其更加健壮):

/(?:[^`!@#$%^&*\-_=+'\/.,]*[`!@#$%^&*\-_=+'\/.,]){2}/

请参阅demo

答案 1 :(得分:0)

在javascript中它对我有用:

/(?=(.*[`!@#$%\^&*\-_=\+'/\.,]){2})/

答案 2 :(得分:0)

var goodtogo = false;
var pass = 'simp!le@';   //example
var times = pass.match(/[\\\[\]\/\(\)\+\*\?`!@#$%\^&_=-]/g).length;
if(times >= 2)
    goodtogo = true;

现在我建议你尝试几个密码,如果你发现了一个错误或什么东西,不要犹豫再回来。

如果您有更多特殊字符,只需将它们添加到匹配的参数中。

希望它有所帮助。