电话号码验证(正则)

时间:2024-02-23 14:19:12

项目中需要电话号码的验证,首先想到的就是用正则表达式进行匹配。
首先,就国内而言,电话号码可以是手机号或者座机号:
1、手机号:11位数字,目前来看 开头肯定是1,所以正则是 /^1[0-9]{10}$/

2、座机号:座机号可以有3位区号+8位本地号+分机号(1到4位) 或者是 4位区号+7位本地号+分机号(1到4位) ;其中区号 分机号可能是没有的,所以正则 /^((([0-9]{3}-)?[0-9]{8})|(([0-9]{4}-)?[0-9]{7}))(-[0-9]{1,4})?$/

现在如果把两个和在一起就是所需的电话号码验证了,也就是 /^((1[0-9]{10})|(((([0-9]{3}-)?[0-9]{8})|(([0-9]{4}-)?[0-9]{7}))(-[0-9]{1,4})?))$/

欢迎测试,吐槽!