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

如何编写仅允许特定12倍数纯数值输入的正则表达式

解决仅允许特定12倍数输入的正则问题

你遇到的问题很典型——原来的正则只是匹配字符串中包含这些数值的片段,而非要求整个输入完全等于指定数值。所以只要输入里藏着12、24这类数字,不管后面跟着字母、特殊字符,都会被判定为匹配通过。

要彻底解决这个问题,只需要给正则加上字符串锚点,强制要求输入内容完全匹配指定数值之一。正确的正则表达式如下:

^(12|24|36|48|60|72|84|96|108|120)$

为啥这个正则能生效?

  • ^ 标记字符串的起始位置,确保输入从指定数值开头;
  • $ 标记字符串的结束位置,确保输入到指定数值就收尾,没有多余字符;
  • 括号内的|用来分隔所有允许的选项,整个表达式的逻辑是:输入内容必须严格等于12、24、36…120中的某一个。

举几个测试场景:

  • 输入12 → 完全匹配,验证通过;
  • 输入12abc → 结尾超出12的范围,不匹配;
  • 输入!@#24 → 开头不符合24的起始,不匹配。

如果觉得列出所有选项有点繁琐,也可以利用“12的1到10倍”这个规律简化表达式,但对于数量不多的固定值,直接列出反而更直观、不容易出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:32:49