同时验证固定电话和手机号的正则表达式

本文介绍了一种使用JavaScript进行电话号码格式验证的方法。通过一个简洁的正则表达式,该表达式能够匹配中国大陆地区常见的电话号码格式,包括固定电话及手机号码。

^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$

写在js里面开头和结尾要加/

### 适用于中国的全网通手机与固定电话号码的通用正则表达式 对于中国境内的电话号码,可以分为两种主要类型:移动电话号固定电话号码。每种类型的号码具有不同的结构特点。 #### 移动电话号码 中国移动、联通以及电信等运营商提供的手机号码通常由11位数字组成,前三位代表网络制式服务提供商。有效的手机号码范围如下: - 开头为 `1` 的11位数字串。 - 前缀可能包括但不限于 `13X`, `14X`, `15X`, `17X`, `18X` 等[^1]。 ```regex ^(1[3|4|5|7|8][0-9]{9})$ ``` 此模式用于验证标准格式下的中国大陆地区手机号码。 #### 固定电话号码 固定电话号码一般包含区号加上本地号码部分,有时还会带有分机号。具体形式可能是这样的: - 区号长度通常是三到四位数(带括号),例如 `(010)` 表示北京; - 接下来的七至八位为主叫号码; - 可选地跟随一个连字符 `-` 后面是最多六位的分机号。 综合考虑上述因素,下面给出了一条适合匹配大多数情况下国内固话记录的正则表达式: ```regex ^(\(0\d{2,3}\)|0\d{2,3}-)?\d{7,8}(-\d{1,6})?$ ``` 这条规则允许存在或不存在前置零的情况,并且支持多种常见的书写习惯,比如是否加圆括弧包围区号或是用短横线连接各段。 为了创建一个既能识别所有合法的全国通手机号也能处理各种样式固定的住宅/办公座机联系信息的一般化方案,则可将两者结合起来形成更广泛的匹配条件: ```regex ^(1[3|4|5|7|8][0-9]{9}|(\(0\d{2,3}\)|0\d{2,3}-)?\d{7,8}(-\d{1,6})?)$ ``` 该表达式的优先级是从左向右依次尝试匹配最左侧定义的部分;如果失败再继续测试下一个选项直到成功为止。因此它会先试着看输入是不是符合典型的十一位长的手机号特征,如果不是的话就会转而检查其余可能性——即传统的有无区号在内的七八位普通市内通话线路编码再加上任意数量不超过六个字节大小的选择性的内部交换编号附加项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值