Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“的Javascript正则表达式”;至少X个字符,包含大写字母和数字“;_Javascript_Regex - Fatal编程技术网

“的Javascript正则表达式”;至少X个字符,包含大写字母和数字“;

“的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 =

我有一个密码字段的正则表达式,我知道它工作得很好,即长度必须至少为6个字符,有一个大写字母、一个数字,并且可以包含特殊字符。当我尝试在Javascript中应用这个正则表达式时,它似乎无法验证。下面是我的Javascript函数

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。相应地重新标记。可能值得检查哪些功能与您正在寻找的类似。此外,我建议首先使用并确保它与您想要的匹配。顺便说一句,我讨厌那些试图热情地告诉我密码中必须使用何种字符的网站。这通常是我离开网站,再也不回来的理由。你肯定希望用户有一个安全的密码吗?通过声明他们的密码中必须包含大写字母和数字,增加了他们密码的复杂性。仍然匹配我测试中的“密码”,它不也需要数字吗?