正则表达式循环问题

时间:2017-04-03 14:46:15

标签: javascript arrays node.js regex

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

1 个答案:

答案 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));