我想知道这是否可能。我正在尝试遍历包含正则表达式的对象,如下所示:
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/