我想知道.match返回什么 - 匹配的字符还是bool?
function feinNoRepeat(sender, args)
{
fein = '11-1111111';
atchThis = fein.replace("-","");
rptRegex = '\b(\d)\1+\b';
//would I compare it this way or would I ask if it's true or false?
if (matchThis.match(rptRegex) = matchThis)
{
args.IsValid = false;
}
}
答案 0 :(得分:1)
var array = string.match(regexp);
<强>的regexp 强>
正则表达式对象。如果传递了非RegExp对象obj,则使用新的RegExp(obj)将其隐式转换为RegExp。
如果正则表达式不包含g标志,则返回与regexp.exec(string)相同的结果。
如果正则表达式包含g标志,则该方法返回包含所有匹配项的Array。如果没有匹配项,则该方法返回null。
返回的Array有一个额外的输入属性,其中包含生成它的正则表达式。此外,它还有一个index属性,表示字符串中匹配的从零开始的索引。
如果你想要真值或假值,你真正想要的是regularExpression.test(string)
if (rptRegex.test(matchThis)) { //notice it is the regular expression being acted on, not the string
args.IsValid = false;
}
它也适用于匹配,因为可以测试匹配结果的真实值。
if (matchThis.match(rptRegex)) {
args.IsValid = false;
}
使用测试并不匹配
仍然更好答案 1 :(得分:0)
匹配组值的数组