php - PHP 电话正则表达式 - 不要超过 8 个数字的长度
问题描述
我正在尝试创建一个电话正则表达式。
$regexNumber = '#^[1-9][0-9]{8}$#';
至于现在是说第一个数字应该以1-9开头,而后面的数字应该在0-9之间。
当我想控制电话号码不超过8个数字的长度时,就会出现问题。我认为花括号可以解决我的问题,但我可能用错了。我希望阅读我的一篇文章可以启发我。
非常感谢您。
解决方案
利用
$regexNumber = '#^(?!0)\d{8}$#';
这很简单明了:8 位数字,但0
开头没有。
请参阅正则表达式证明。
解释
--------------------------------------------------------------------------------
^ the beginning of the string
--------------------------------------------------------------------------------
(?! look ahead to see if there is not:
--------------------------------------------------------------------------------
0 '0'
--------------------------------------------------------------------------------
) end of look-ahead
--------------------------------------------------------------------------------
\d{8} digits (0-9) (8 times)
--------------------------------------------------------------------------------
$ before an optional \n, and the end of the
string
推荐阅读
- python - Python:来自字符串的伪随机颜色
- javascript - React 错误对象作为 React 子对象无效(找到:带键的对象 {$$typeof, type, compare)
- python-3.x - Python抛出错误字节,如需要的对象而不是列表
- python - Python程序反复执行无限循环异常
- node.js - 打字稿无效的“参考”指令语法
- shell - 使用 Shell 脚本在文件中逐行对列中的内容进行排序
- javascript - 如何在使用 Firefox 浏览器的 Blazor 中绑定鼠标滚轮事件
- java - 当我有一个页面时如何在 Spring Boot 中进行测试