首页 > 解决方案 > 正则表达式年龄验证 17-120

问题描述

我需要做一个正则表达式来验证 17-120 之间的年龄包括(17 和 120)

我试过这个

^(100|[1-9][7-9][0-9]?)$

我知道这不好,但我不明白该怎么做

我需要在我的表单中使用模式属性提交的年龄

只有数字允许

标签: htmlregex

解决方案


您应该将所有可能的组合放在交替列表中:

^(?:1[01][0-9]|120|1[7-9]|[2-9][0-9])$

演示:https ://regex101.com/r/6SzInz/1

基本上,每个边界条件都需要一个模式:

  • 1[7-9]涵盖 17 到 19 之间的数字
  • [2-9][0-9]涵盖 20 到 99 之间的数字
  • 1[01][0-9]涵盖 100 到 119 之间的数字
  • 120涵盖数字... 120

推荐阅读