【问题标题】:is it possible to concat 2 regular expression strings in javascript [duplicate]是否可以在javascript中连接2个正则表达式字符串[重复]
【发布时间】:2019-01-10 01:30:30
【问题描述】:

我在 javascript 中有 2 个正则表达式字符串,我需要将它们连接成 1 个正则表达式。我在某处看到这可以使用 |

示例:

passwordRegex:RegExp = '(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&^])[A-Za-z\\d$@$!%*#?&^]{8,}';
hasFourConsecutiveRegex:RegExp  = '(.)\\1\\1\\1';
combinedRegex:RegExp = new RegExp(this.passwordRegex.source  + ' | ' + this.hasFourConsecutiveRegex.source );

这是怎么做的?

【问题讨论】:

  • 您是否尝试过它是如何完成的?这不能回答你的问题吗?
  • 你不能自己运行一下看看会发生什么吗?
  • 这取决于您连接表达式的原因。你所做的基本上是创建一个或。要么匹配passwordRegex,要么匹配(|)匹配hasFourConsecutiveRegex
  • 你想做什么?验证一个包含至少一个 ASCII 字母、一个数字、一个来自已定义集合 的具有 4 个相同连续字符的特殊字符的 8+ 字符字符串?

标签: javascript regex typescript ecmascript-6 ecmascript-5


【解决方案1】:

你可以这样做:

var passwordRegex = new RegExp('(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&^])[A-Za-z\\d$@$!%*#?&^]{8,}');
var hasFourConsecutiveRegex = new RegExp('(.)\\1\\1\\1'); 
var combinedRegex = new RegExp(passwordRegex.source   + ' | ' + hasFourConsecutiveRegex.source  );

【讨论】:

  • @TKDev,如果它适合你,请接受这个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多