【问题标题】:I need a Javascript REGEX for Integers between 18 and 140 inclusive [closed]我需要一个 18 到 140 之间整数的 Javascript 正则表达式 [关闭]
【发布时间】:2017-08-21 12:34:33
【问题描述】:

我仍在尝试寻找解决 Javascript 正则表达式的方法,但我无法推断出如何编写我需要的这个正则表达式。

请基本上我需要一个 Javascript 正则表达式来适应年龄。我想允许 18 到 140 岁之间的任何人。允许 18 岁和 140 岁。我想要一个基本上接受 18,19,20,21,...138,139,140 的正则表达式。只有这个。

如果有任何帮助,我将不胜感激。

附:我希望我只是得到一个简单的答案,而没有 Stack Overflow 关闭问题并说“重复”或这个或那个......如果不是,这可能是我关于堆栈溢出的最后一个问题,因为可悲的是,它看起来像 Stack Overflow 正在制作很难问一个简单的问题。他们希望您在提出问题之前进行大量研究……或至少进行很多研究。尽管很多时候我们提出问题正是因为我们没有时间进行大量研究。 :: 叹息 ::

【问题讨论】:

  • 你为什么要用正则表达式来做这样的事情?这似乎是一个不需要它的琐碎问题,而是一些基本的逻辑运算符..您尝试过什么?
  • 你为什么想要一个正则表达式而不仅仅是var test = parseInt(input); if (test < 18 || test > 140) { errorHandler(); }
  • 如果您详细说明您的尝试,人们投票结束您的问题的可能性会大大降低。
  • 如果年龄来自一个表格,你可以使用input type number

标签: javascript regex integer


【解决方案1】:

试试这个:

/^(1[89]|[2-9]\d|1[0-3]\d|140)$/

如果你需要的话,请告诉我。

【讨论】:

    【解决方案2】:

    在回答你的问题时,我不是问你为什么需要正则表达式的人。

    你想要的正则表达式是

    /^(1[89]|[2-9][0-9]|1([0-3][0-9]|40))$/
    

    样本

    var age=/^(1[89]|[2-9][0-9]|1([0-3][0-9]|40))$/;
    
    console.log(age.test(18));
    console.log(age.test(140));
    console.log(age.test(12));
    console.log(age.test(142));

    但是,您可以简单地使用以下代码进行测试

    if(age>=18 && age<=140)
    

    那是

    function test(age){
      return age>=18 && age<=140;
    }
    
    console.log(test(18));
    console.log(test(140));
    console.log(test(12));
    console.log(test(142));

    【讨论】:

    • 谢谢一百万。这个正则表达式工作得很好......测试了各种数字。只有我要求的范围有效。干杯。
    猜你喜欢
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 2017-06-29
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多