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

PHP电话号码正则表达式实现:控制号码长度不超过8位

问题原因

你当前正则里的{8}属于精确匹配量词,代表前面的[0-9]必须刚好出现8次,加上首位的1位数字,整个正则匹配的字符串总长度固定为9位,不符合你总长度不超过8位的要求。

修正后的正则

$regexNumber = '#^[1-9][0-9]{0,7}$#';

规则说明

  • 首位仍保持匹配1-9的非0数字,占用1位长度
  • 后续的{0,7}是范围匹配量词,代表前面的[0-9]可以出现0到7次
  • 最终整体匹配的总长度范围是1~8位,刚好满足总长度不超过8位的要求
  • 如果需要限制最短长度,比如要求总长度最少为3位,把量词改成{2,7}即可,首位1位加后续2位刚好满足最短3位的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:48:03