正则表达式匹配电话号码
网页url中有如下信息:<dl>
<dt>电 话:</dt>
<dd>86 0755 29409001</dd>
</dl>
<dl class="m-mobilephone" data-need-not-login="true" data-no="13662655964">
<dt>移动电话:</dt>
<dd class="mobile-number"> 13662655964
</dd>
</dl>
如何匹配到电话号码和移动电话号码?正则表达式如何写?高手赐教 其实正则表达式很简单的,不如好好去学一下,不能老是拿来主义 请独立完成自己的作业。 本帖最后由 weishuo1999 于 2014-04-16 16:29 编辑
手机号的,之前要检查13开头,后面要检查15 也有14 所以干脆就简单点1后面10个数字,写法如下
1\d{10}
至于固定电话的话,找到规律也这么写就行了以你的这个固定电话为例
86\ 0755\ \d{8}
再扩展一点,区号可能是3位的,电话号码可能是7位的那么可以这样写
86\ \d{3,4}\ \d{7,8} 回复 4# weishuo1999
其实在天朝, 要写一个完整的 匹配电话号码的 正则还真不容易. 因为我们的电话号码没啥规律, 7位, 8位,6位, 都有, 区号也是. 2位, 4位, 5位都有. 中间有的写 '-' 有的写空格.
手机号 目前还算好一点点. 但 17, 18, 15, 14, 13 已经很多了. 手机号有人在中间空格, 有人在中间加'-', 哎.
下面这些号, 要如何搞呢? :cry:
+86 10 3230 0203
+86 10 32300203
+861032300203
010 3230 0203
010 32300203
01032300203
+86 138 0013 8000
+86 13800138000
+8613800138000
所以要楼主自己去学了正则表达式,然后根据需求自己写,话说这么奇葩的电话号码,还真让人抓狂 回复 5# q1208c
回复 6# weishuo1999
我刚才还忘了有人把区号放在 ( ) 里呢.
用正则处理HTML/XML是编程中的一大悲剧。那么多HTML解析器,随便挑一个就搞定了。 http://deerchao.net/tutorials/regex/common.htm 回复 5# q1208c
天朝的码农真苦逼。
页:
[1]
2