我有两个变量:
var input = "user1@gmail.com";
var preferredPatterns = ["*@gmail.com", "*@yahoo.com", "*@live.com"];
想要将输入与首选模式数组相匹配。如果有任何模式匹配,我就必须执行特定任务(在这个例子中,输入是一个明确的匹配)。我如何匹配 javascript 中的模式数组?
最佳答案
您可以将您的模式(如果它们是有效的正则表达式)编译成一个以提高性能:
var masterPattern = new RegExp(patterns.join('|'));
综合起来:
var input = 'user1@gmail.com';
var preferredPatterns = [
".*@gmail.com$",
".*@yahoo.com$",
".*@live.com$"
];
var masterPattern = new RegExp(preferredPatterns.join('|'));
console.log(masterPattern.test(input));
// true
关于javascript - 如何将字符串与 Javascript 中的模式数组进行匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29466887/