You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

18-65岁年龄范围的Regex验证器需求及现有正则评估咨询

评估与优化你的年龄验证正则表达式

咱们先拆解下你写的正则 ^(1[90]|[2-6][0-9])$,它存在两个关键问题,没法完全覆盖18-65岁的需求:

  • 第一个分支 1[90] 只能匹配10、19,漏掉了18这个起始年龄;
  • 第二个分支 [2-6][0-9] 会匹配20-69,这就把66-69也包含进来了,超出了65岁的上限。

优化后的正则表达式

针对18-65岁的范围,我们可以把年龄分成三个区间来精准匹配:

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

各分支解释

  • 1[89]:匹配18、19这两个起始年龄;
  • [2-5][0-9]:匹配20-59岁的所有两位数;
  • 6[0-5]:匹配60-65岁的上限区间。

验证边界情况

这个正则能正确匹配:

  • 最小年龄18、最大年龄65;
  • 中间的所有合法年龄(比如25、50、63)。

同时会拒绝:

  • 小于18的数(17、10);
  • 大于65的数(66、70);
  • 非两位数(比如5、100,不过如果你的输入已经限制是两位数,这部分可以不用额外考虑)。

如果你的输入场景可能出现三位数(比如用户误输入100),当前正则的^和$已经做了严格的边界控制,确保整个字符串就是匹配的年龄,所以不用额外调整。

内容的提问来源于stack exchange,提问作者Sindiso Dube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:41:18