我正在创建一个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));

10-08 08:54