大陆--电话正则表达式

前端之家收集整理的这篇文章主要介绍了大陆--电话正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 手机


http://www.baike.com/wiki/%E7%94%B5%E8%AF%9D%E5%8F%B7%E7%A0%81


086-574-87376060

+86-0574-87376060

+86 574 8737 6060

+86-013738258505

+86 137 3825 8505
(86)13738258505
(86-573)2651630
如果是7位数,在第3位和第4位中间应该有个间隔,

应该是:+86 573 265 1630或(86-573)2651630 ;

如果是8位数,在每4位中间应该有个间隔,

应该是:+86 573 8265 1630或(86-573)82651630

+86138-0013-8000

我国使用的手机号码为11位,其中各段有不同的编码方向:

3———网络识别号;

4-7———地区编码;

8-11———用户号码

现有手机号段:

移动:139 138137 136 135134 147 150151 152 157158 159 178182 183 184187 188

联通:130 131 132155 156 185186 145 176

电信:133 153 177180 181 189

版本 1

整理后:130~139 145,147 15[012356789] 176,177,178 180~189

var regex = { mobile: /^0?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/}

版本 2

/^(130|131|132|133|134|135|136|137|138|139|150|151|152|153|155|156|157|158|159|180|186|187|188|189)/d{8}$/

출처: <http://www.jb51.cc/article/p-nxxzbaos-cu.html>

版本 3

提取信息中的中国手机号码:(86)*0*13d{9}

출처: <http://www.111cn.net/wy/96/4f65fbc26b950efe015cf30da65afc95.htm>

版本 4

提取信息中的中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14}

출처: <http://www.111cn.net/wy/96/4f65fbc26b950efe015cf30da65afc95.htm>

版本 5

/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/

출처: <http://caibaojian.com/regexp-example.html>


2. 座机

中华人民共和国电话区号

출처: <http://zh.wikipedia.org/wiki/%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E7%94%B5%E8%AF%9D%E5%8C%BA%E5%8F%B7>

+86-10-123456

0086-10-123456

0517-86545623

0086-517-93872648,省略 0

+86-212680-8691

正确的写法是不要 86后面那个0,写成 86 312 4295xxx,或者 86 21 xxxx xxxx (上海),86 10 xxxx xxxx (北京). 最好的写法是:

+86312 4295xxx,或者 +86 21 xxxx xxxx (上海),+86 10 xxxx xxxx (北京).

区号有可能三位,也有可能四位,参考:中华人民共和国电话区号

版本 1

固定电话号码:((d{3,4}-|s)?d{8}

출처: <http://www.111cn.net/phper/php-cy/44431.htm>

版本 2

0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能

匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地(如010-12345678),一种是4位区号,7位本地(0376-2233445)

\(?0\d{2}\)?[- ]?\d{8}|0\d{2}[- ]?\d{8}这个表达式

匹配3位区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字号或空格间隔,也可以没有间隔

출처: <http://deerchao.net/tutorials/regex/regex.htm>

版本 3

/^\d{3}-\d{8}|\d{4}-\d{7}$/;//验证电话号码为7-8位数字并带有区号

출처: <http://896849548-qq-com.iteye.com/blog/1275240>

提取信息中的中国固定电话号码:((d{3,4}-|s)?d{8}

출처: <http://www.111cn.net/wy/96/4f65fbc26b950efe015cf30da65afc95.htm>

版本 4

电话号码正则表达式(支持手机号码,3-4区号,7-8位直播号码,14位分机号)

((d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$)

匹配格式:

11位手机号码

3-4区号,7-8位直播号码,14位分机

如:123456789011234-12345678-1234

출처: <http://www.111cn.net/wy/96/4f65fbc26b950efe015cf30da65afc95.htm>

版本 5

电话号码:7-8位数字: d{7,8}

分机号:一般都是3位数字: d{3,}

这样连接起来就是验证电话的正则表达式了:/^((0d{2,3})-)(d{7,8})(-(d{3,}))?$/

手机号码前面以1开头,第二位现在是3或者5,后面是9位数字,则:/^1[35]d{9}$/

看到一个比较强悍的验证:(^(d{2,4}[-_-—]?)?d{3,8}([-_-—]?d{3,8})?([-_-—]?d{1,7})?$)|(^0?1[35]d{9}$)

该表达式可以验证那些不小心把连接符“-”写出“-”的或者下划线“_”的等等。

출처: <http://www.111cn.net/wy/96/4f65fbc26b950efe015cf30da65afc95.htm>

版本 6

varisfixedphone = function(str) {

/**

*

* @desctition:规则->区号3-4位,号码7-8,可以有分机号,分机号为3-4为,格式如下:"0775-85333333-123"

*

*/

varpattern = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/;

returnpattern.test(str);

}

출처: <http://www.open-open.com/code/view/1420818193000>


综合:

RegEx

^([-_-—\s\(]?)([\(]?)((((0?)|((00)?))(((\s){0,2})|([-_-—\s]?)))|(([\)]?)[+]?))(86)?([\)]?)([-_-—\s]?)([\(]?)[0-9]{2,3}([\)]?)([-_-—\s]?)[0-9]{4}([-_-—\s]?)[0-9]{4}$

Example

0517-8499-6851
0517-84996851
64955331

010-84996851
(010)84996851
+86-10-8499-6851
13337971
344
861333
5716444
+86-1333
5971444
+861333
5971444

0086-133-3497-1414
(86)133379714
34



整理起来不容易

错误的话麻烦告诉我 原文链接:https://www.f2er.com/regex/360472.html

猜你在找的正则表达式相关文章