首页 > 解决方案 > 年龄组的正则表达式验证

问题描述

我正在寻找一个正则表达式验证器来验证 18 到 65 之间的年龄到目前为止我有这个:

^(1[90]|[2-6][0-9])$

标签: javascript

解决方案


我不确定您为什么要使用正则表达式来检查数字范围。

下面我有一个演示,它以标准方式检查范围,大于和小于,但我也包含了一个正则表达式方式。

正则表达式方式要求您首先将数字转换为字符串,这就是toString()位。

const numbers = [1, 20, 55, 67];

for (let num of numbers) {
  if (num >= 18 && num <= 65)
    console.log(`standard: ${num} is in range`)
}

for (let num of numbers) {
  if (num.toString().match(/^([1][8-9]|[2-5][0-9]|[6][0-5])$/))
    console.log(`regex: ${num} is in range`)
}

这是解释正则表达式如何工作的图表。
^([1][8-9]|[2-5][0-9]|[6][0-5])$
图表

希望这会有所帮助。


推荐阅读