以下是引用TonyDeng在2012-10-20 15:18:26的发言:
你是不管那是什么电话,只要疑似电话,就提取出来?也不需要电话的主人信息?连带后者是很难的。
说一下我的想法
当然完全正确的取出电话号码是不可能的
所以取疑似电话号码和手机号的数字
疑似,无限接近真实即可
其实我也不知道他要这些号码是干嘛用的
所以我也是取“疑似”的那些号码
即使是正确的号码,也有可能是空号,停机
首先手机号
现阶段都是11位,开头肯定是1,又前3位是131,132,133,。。。。。。。 对此做简单限定
手机号码前带 86,+86,+0086也有可能,这地方也要判断
另外,中间4 - 7 位表示的区号不知道有没有特定的规律
固话
有 7位,有8位,前面还有3位或4位的区号,区号和号码之间还有可能有连字符‘-’
区号可固定检查
那么固话的位数可能是7位,8位,或是10-13位
如果区号错误,然后又没有连字符,基本确定这个不是固话号码
如果区号错误,却有连字符,这个应该不是固话号码
但我上传的两个网页中有一个网页中区号有的前面的0省略了
这又算是另外一种情况,不足3位或是4位的区号前面补0,然后判断补0后的区号是不是正确的区号
至于什么时候补0什么时候不补0
个人认为有连字符的时候才补0
否则直接认为不是固话号码