如何将正则表达式用于18-99之间的整数范围?

时间:2019-04-25 14:55:57

标签: javascript regex integer range

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

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

我是正则表达式的新手,这是我的最佳尝试。

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

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

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

regEx1

使用\ d时的第二次尝试尽管它包含十进制或结尾字母,但似乎只接受以零开头的值。

regEx2

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

您可以尝试^。{18,99} $

说明:

。点代表所有字符。 \ n除外,您必须使用s DOTALL标志。