“的Javascript正则表达式”;至少X个字符,包含大写字母和数字“;
我有一个密码字段的正则表达式,我知道它工作得很好,即长度必须至少为6个字符,有一个大写字母、一个数字,并且可以包含特殊字符。当我尝试在Javascript中应用这个正则表达式时,它似乎无法验证。下面是我的Javascript函数“的Javascript正则表达式”;至少X个字符,包含大写字母和数字“;,javascript,regex,Javascript,Regex,我有一个密码字段的正则表达式,我知道它工作得很好,即长度必须至少为6个字符,有一个大写字母、一个数字,并且可以包含特殊字符。当我尝试在Javascript中应用这个正则表达式时,它似乎无法验证。下面是我的Javascript函数 function (word) { var weakRegEx = new RegExp('(?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$'); var result =
function (word) {
var weakRegEx = new RegExp('(?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$');
var result = weakRegEx.test(word);
return result;
由于您正在编写字符串文字,因此需要对
\
字符进行转义
您应该改用正则表达式文字:
var weakRegEx = /(?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/;
欢迎来到SO。这是纯Javascript,没有jQuery。相应地重新标记。可能值得检查哪些功能与您正在寻找的类似。此外,我建议首先使用并确保它与您想要的匹配。顺便说一句,我讨厌那些试图热情地告诉我密码中必须使用何种字符的网站。这通常是我离开网站,再也不回来的理由。你肯定希望用户有一个安全的密码吗?通过声明他们的密码中必须包含大写字母和数字,增加了他们密码的复杂性。仍然匹配我测试中的“密码”,它不也需要数字吗?