Javascript 有人能解释为什么JS正则表达式在这种情况下失败吗?
在JSFiddle中运行这段代码会导致“l”出现“没问题”,而“m”出现“问题”,即使这两个变量的格式似乎相同。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 = "
让我们读一下你的正则表达式,好吗 “五组(五个字母/数字后跟连字符)后跟一个字母/数字” 在
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);