Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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 有人能解释为什么JS正则表达式在这种情况下失败吗?_Javascript_Regex - Fatal编程技术网

Javascript 有人能解释为什么JS正则表达式在这种情况下失败吗?

Javascript 有人能解释为什么JS正则表达式在这种情况下失败吗?,javascript,regex,Javascript,Regex,在JSFiddle中运行这段代码会导致“l”出现“没问题”,而“m”出现“问题”,即使这两个变量的格式似乎相同。 让我们读一下你的正则表达式,好吗 “五组(五个字母/数字后跟连字符)后跟一个字母/数字” 在m变量中,我只计算了4个组。所以它失败了 另外,在开头附近有A-z,而不是A-z。应该是A-Z注意,正则表达式中的[-]要写-还有很长的路要走。还要注意A-Z与A-Z不一样,正则表达式的第一部分是不正确的。说得很好,很简洁! var errString; var l = "

在JSFiddle中运行这段代码会导致“l”出现“没问题”,而“m”出现“问题”,即使这两个变量的格式似乎相同。


让我们读一下你的正则表达式,好吗

“五组(五个字母/数字后跟连字符)后跟一个字母/数字”

m
变量中,我只计算了4个组。所以它失败了



另外,在开头附近有
A-z
,而不是
A-z
。应该是
A-Z

注意,正则表达式中的
[-]
要写
-
还有很长的路要走。还要注意
A-Z
A-Z
不一样,正则表达式的第一部分是不正确的。说得很好,很简洁!
    var errString;
    var l = "JLF5J-383Z3-QQKWR-JEN3T-39NUT-3";
    var m = "12345-12345-12345-12345-A";

    function Check_License_Key_Format(license) {
        var regexLicense = new RegExp("^([A-za-z0-9]{5}[-]){5}[A-Za-z0-9]$");
        return regexLicense.test(license);
    }

    if (Check_License_Key_Format(l) == false)
        errString = "problem";
    else
        errString = "no problem";            
    alert(errString);

      if (Check_License_Key_Format(m) == false)
        errString = "problem";
    else
        errString = "no problem";
    alert(errString);