我正在对函数中的字符串进行正则表达式检查:
function ValidateZipCodeString(listOfZipCodes) {
var regex = /^([, ]*\d{5})+[, ]*$/,
matches = regex.exec(listOfZipCodes);
if (regex.exec(listOfZipCodes) === null) {
console.log('validation failed');
return false;
} else {
console.log('validation passed');
return true;
}
}
正则表达式正确检测有效/无效的邮政编码列表。
我用这个调用函数:
console.log('zip code: ' + listOfZipCodes);
if (ValidateZipCodeString(listOfZipCodes)) {
$tr.find('label#lblCoverageEditError').text('There is invalid text in the list of zip codes. Only 5-digit zip codes allowed.').show();
} else {
console.log('validate function returned true');
}
问题是,当验证函数中的控制台输出显示“验证失败”时,上述 if/else 转到 else 子句。所以我一定不能正确调用该函数。
做我想做的事情的正确方法是什么?