我正在创建一个javascript(Node.js)循环函数,它应该遍历一个字符串数组,然后在针对正则表达式进行测试时返回true或false。如果为FALSE,则立即返回值(打破循环)。但是,数组中的第二个值仍然返回false,尽管它是有效的。
调用函数传递这些值:
var valuesArray = ["ABCXYZ", "ABCXYZ1"];
var regexValue = /[a-zA-Z0-9]+$/;
var regex = new RegExp(regexValue);
function validateArrayValues(valuesArray, regex) {
var regexResult, item;
for (let counter = 0; counter < valuesArray.length; counter++) {
item = valuesArray[counter];
regexResult = regex.test(item);
if (!regexResult) return false;
}
return true;
}
答案 0 :(得分:1)
正确工作,您删除的其他任何内容都是为了简化示例吗?
var valuesArray = ["ABCXYZ", "ABCXYZ1"];
var regexValue = /[a-zA-Z0-9]+$/;
var regex = new RegExp(regexValue);
function validateArrayValues(valuesArray, regex) {
var regexResult, item;
for (let counter = 0; counter < valuesArray.length; counter++) {
item = valuesArray[counter];
regexResult = regex.test(item);
if (!regexResult) return false;
}
return true;
}
console.log(validateArrayValues(valuesArray, regex));