javascript - 如何将字符串与 Javascript 中的模式数组进行匹配?

标签 javascript arrays regex

我有两个变量:

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/

相关文章:

javascript - 如何在鼠标滚动时关闭文档滚动 - 纯javascript

c++ - 如何创建继承类对象的数组?

python - 使用正则表达式以任意顺序匹配两个单词

ios - Ansible regex_findall 多个字符串

javascript - 当 Socket.io 事件发出时保存到 MongoDB

php - JavaScript 中的 MySQL 查询

javascript - 将 Node 代码库迁移到 TypeScript : global scope?

python - 使用另一个数组的索引索引一个 numpy 数组

Python 查找子数组的索引,这些索引是连续的并且以 1 的差递增

regex - Ansible:临时限制主机