Combining regular expressions in Javascript

后端 未结 6 1340
-上瘾入骨i
-上瘾入骨i 2020-11-27 05:22

Is it possible to combine regular expressions in javascript.

For ex:

 var lower = /[a-z]/;
 var upper = /[A-Z]/;
 var alpha = upper|lower;//Is this          


        
6条回答
  •  囚心锁ツ
    2020-11-27 06:18

    Based on Bry6n answer here's a solution I use:

    const Regexes = {
      Empty: /^$/,
      Minus: /^[-]$/,
      DotAndNumber: /^\.\d+$/,
      NumberAndDot: /^\d+\.$/,
      Float: /^[-]?\d+(\.\d+)?$/,
    };
    
    const orRegex = (...regexes) =>
      new RegExp(regexes.map(r => r.source).join('|'));
    
    const FloatInputRegex = orRegex(
      Regexes.Empty,
      Regexes.Minus,
      Regexes.DotAndNumber,
      Regexes.NumberAndDot,
      Regexes.Float,
    );
    

提交回复
热议问题