题解 | 电话号码格式校验

电话号码格式校验

https://www.nowcoder.com/practice/2c2453e909c04c29a04c11e9d6b2c769

select * from contacts 
where phone_number regexp '^[1-9][0-9]{9}$'
or phone_number regexp '^[1-9][0-9]{2}-[0-9]{3}-[0-9]{4}$';

1. 正则表达式解析

第一个格式 ^[1-9][0-9]{9}$

  • 含义:匹配 10位连续数字,且第一位不能是 0。
  • 分解:^ 表示字符串开始。[1-9] 第一位是 1-9 中的任意一个数字(排除 0)。[0-9]{9} 后续 9 位是任意数字(0-9)。$ 表示字符串结束。
  • 示例:1234567890。

第二个格式 ^[1-9][0-9]{2}-[0-9]{3}-[0-9]{4}$

  • 含义:匹配 带连字符的格式,如 123-456-7890。
  • 分解:^ 字符串开始。[1-9][0-9]{2} 前 3 位,第一位非 0,后两位任意。- 连字符分隔符。[0-9]{3} 中间 3 位任意数字。- 连字符分隔符。[0-9]{4}$ 最后 4 位任意数字,字符串结束。
  • 示例:123-456-7890。
全部评论

相关推荐

吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
04-19 11:59
门头沟学院 Java
卷不动辣24314:挂,看来不该投这个部门的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务