javascript - 遍历包含正则表达式的 javascript 对象变量

标签 javascript regex

我想知道这是否可能。我正在尝试遍历包含正则表达式的对象,如下所示:

var formats = {
    AUS:"/^\D*0(\D*\d){9}\D*$/",
    UK: "/^\D*0(\D*\d){9}\D*$/"
        };

    var matched = false;

for (var i in formats) {
    if (!matched) {
        var format = formats[i];
        matched = value.match(formats[i]);
    }
}

我很欣赏 AUS 和 UK 表达式具有相同的值,但这只是为了证明这个概念。

我匹配的值是 0423887743,当我执行以下操作时它会起作用:

value.match(/^\D*0(\D*\d){9}\D*$/);

最佳答案

将其更改为:

var formats = {
   AUS:/^\D*0(\D*\d){9}\D*$/,
   UK: /^\D*0(\D*\d){9}\D*$/
};

按照您的方式,它是字符串而不是正则表达式。

关于javascript - 遍历包含正则表达式的 javascript 对象变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462519/

相关文章:

javascript - 如何默认 Html.DropDownList 不选择?

javascript - Max/Min/Avg 按顺序返回数组

javascript - 键入时更改单词文本不同的颜色

javascript - javascript 中特殊字符的屏蔽

javascript - Javascript 的正则表达式不正确

javascript - 我的绑定(bind)有什么问题?

javascript - 获取图像宽度的总和并将该总和应用于 div

python - 与命名组关联的模式

php - 如何替换字符串中的第 n 次出现

Javascript 正则表达式替换文本 div 和 < >