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