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

求匹配非0开头且最多10位数字的正则表达式

解决非0开头、最多10位数字的正则匹配问题

你之前写的正则存在的问题:

  • ^([1-9]+)([0-9]+){1,10}$:语法和长度控制双错。[1-9]+要求首位至少1位非0数,[0-9]+{1,10}是错误写法,就算忽略语法问题,前面至少1位加后面至少1位重复1-10次,总长度最少2位、最多11位,完全不符合最多10位的要求。
  • ^(([1-9])+([0-9])+{1,10})$:和第一个问题类似,([0-9])+{1,10}语法错误,长度控制彻底失效。
  • ^([1-9]+)([0-9]*){1,10}$:[0-9]*{1,10}是重复「任意位数数字(包括0位)」1-10次,相当于可以无限追加数字,比如1后面连加10组123,长度直接超标,起不到限制10位的作用。

正确的正则表达式:

^[1-9]\d{0,9}$

规则解释:

  • ^ 锁定字符串开头,确保前面无多余字符
  • [1-9] 首位必须是1-9的非0数字,杜绝以0开头的情况
  • \d{0,9} 后面可跟0到9位数字(\d等价于[0-9]),总长度范围1到10位,刚好符合「最多10位」要求
  • $ 锁定字符串结尾,确保后面无多余字符

验证示例:

  • 匹配项(符合要求):1、123、9876543210(刚好10位)
  • 排除项(不符合要求):0、0123(以0开头)、12345678901(11位)、12a3(含非数字字符)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:15:33