目前,这是我做正则表达式的方法:
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/