我正在创建一个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;
}
最佳答案
正常工作,为了使示例保持简单,您删除了其他所有内容吗?
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));