求匹配0至10范围内纯数字的正则表达式,现有正则失效
解决0-10纯数字匹配的正则表达式问题
你原来的正则 /^[1-9][1]*$/ 只能匹配1、11这类值,既覆盖不了0和10,还会错误匹配11这种超出范围的数。给你一个精准的正则:
/^(0|10|[1-9])$/
正则拆解:
^和$锚定整个字符串,确保输入是纯数字且无多余字符(不会匹配"10abc"或者"01"这类无效值)0直接匹配数字010匹配唯一的两位数有效值[1-9]匹配1到9的单个数字
测试示例:
- 匹配成功:
0、3、10 - 匹配失败:
11、05、10.5、abc
如果你的场景允许前导零(比如"05"算有效输入),可以调整为 /^(0|0?[1-9]|10)$/,不过通常业务场景里带前导零的数字不算合法的0-10取值,所以第一个正则更常用。
内容的提问来源于stack exchange,提问作者user20884192
相关产品推荐
相关产品推荐

