首页 > 解决方案 > 如何将正则表达式用于 18-99 的整数范围?

问题描述

我正在尝试为 Google 表单创建一个 javascript 正则表达式,以验证年龄相关问题的答案。我希望用户只能输入 18 到 99 之间的整数值。

这些值只能是数字,不能以零开头、为负数或包含小数。它们只能是整数正数。

我对正则表达式很陌生,这是我最好的尝试。

(1[89]|[2-9][0-9])

\d(1[89]|[2-9][0-9])

第一次尝试将使答案保持在我的范围内(18 到 99),但是它允许带有小数、前零甚至尾随字母的值。

正则表达式1

我使用 \d 时的第二次尝试它似乎只接受以零开头的值,尽管它们包含小数或尾随字母。

正则表达式2

标签: javascriptregexintegerrange

解决方案


然后你可以像这样创建一个捕获组;

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

https://regex101.com/r/m2icLR/1


推荐阅读