登录
首页 >  文章 >  前端

正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0? 而不是直接使用 1?

时间:2024-11-23 17:25:04 300浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0? 而不是直接使用 1?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0?  而不是直接使用 1?

正则表达式中匹配问号的用途:可选项

在正则表达式中,问号 (?) 表示一个可选项,也就是说,匹配项可以出现,也可以不出现。例如:

^0?1[3|4|5|8][0-9]\d{8}$

这个正则表达式验证手机号码。前面加上的 0? 表示开头可以有一个 0,也可以没有。

为什么不能直接使用 var reg = /^13|4|5|8d{8}$/?

如果直接使用这个正则表达式,则手机号码必须以 1 开头,并且不能有 0。这是因为正则表达式从左到右匹配,第一个字符必须满足 1,并且没有 0 可以匹配。

历史原因

正则表达式中使用 0? 还与过去有关。以前拨打长途手机号码时,需要在号码前加一个 0。虽然现在不需要这个 0,但为了兼容性,正则表达式中仍然可以保留 0?。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>