正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 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?。

以上就是正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0? 而不是直接使用 1?的详细内容,更多请关注其它相关文章!