目前,这是我做正则表达式的方法:

var myPassword = $('#reg_password').val();
if (myPassword.match(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/)) {}


从上面的正则表达式中,myPassword应该至少包含1位数字,1个大写字母和小写字母。现在,我想将符号添加为可选。我尝试添加

([@$!%*#?&]?)


在上面我的正则表达式的各个地方,但这不起作用...

最佳答案

不要试图将所有内容放在单个正则表达式中。只需单独测试您的要求!

if (myPassword.length >= 8 &&
    /[a-z]/.test(myPassword) &&
    /[A-Z]/.test(myPassword) &&
    /\d/.test(myPassword) &&
    /[@$!%*#?&]/.test(myPassword)) {
}

关于javascript - 将符号作为正则表达式中的可选字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38476207/

10-12 16:22