| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6426 人关注过本帖, 1 人收藏
标题:版主,来改标题(快速提取电话号码)
取消只看楼主 加入收藏
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
以下是引用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
否则直接认为不是固话号码

个性太多,无法显示
2012-10-20 15:42
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
固话不能收信息吧

个性太多,无法显示
2012-10-20 15:51
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
手机号原来还有这样的规则
http://wenku.baidu.com/view/aa26f57002768e9951e7382b.html

http://zhidao.baidu.com/question/5206291.html&__bd_tkn__=6ef95728722f9c341300ee78aaad3aa78a0d92d08078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157d5efd349f6ea8e6065506c64a703774d232c97f3c02ed777129c98ed54a350b7221312bbf650d4038b1acd9e819fdb9cfdf8e09cb3622f0
真是不搜不知道

几乎没有用过固话
不知道

[ 本帖最后由 taohua300 于 2012-10-20 16:07 编辑 ]

个性太多,无法显示
2012-10-20 16:02
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
以下是引用sdta在2012-10-20 16:01:46的发言:

电话号码区号一般规律是:副省级以上直辖市或省会城市所在地固定电话区号是三位数,第一位[0]+第二、三位[非0数字]
来个特殊的,济南,山东省会,区号0531

个性太多,无法显示
2012-10-20 16:04
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
这会还长知识了

个性太多,无法显示
2012-10-20 16:08
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
以下是引用TonyDeng在2012-10-20 16:15:53的发言:

这东西跟网页的编码有点牵连,有的网页是GB2312编码的,但也有很多是UTF-8的,幸好你只需要阿拉伯数字的字样,还能处理一下。但看了一下那些网页数据,数据本身就存在问题,有些使用了全角字符,也有电话中全角和半角混杂的。
全角转半角容易
?Strconv('中国,22221123456发士大夫434',2)

个性太多,无法显示
2012-10-20 16:28
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
以下是引用qjbzjp在2012-10-21 12:17:20的发言:

不成熟,只是另一种思路,楼主看快不快:
SET COMPATIBLE ON
SET safety off
n=FILETOSTR("e:\1.htm")
n123=CHRTRAN(n,"1234567890->","")
ntel=CHRTRAN(n,n123,"")
ntel=CHRTRAN(ntel,">"," ")
STRTOFILE(ntel,"e:\1.txt")
xz=""

FOR i= 1 to FSIZE("e:\1.txt")
    xn=    SUBSTR(ntel,i,1)
    IF BETWEEN(ASC(xn),45,57)
        xz=xz+xn
    ELSE
        IF LEN(xz)=7.or.len(xz)=11 .or.len(xz)=12
            ?xz
        ENDIF
        xz=""
    ENDIF
NEXT
我开始的思路跟这个类似
速度确实不快

个性太多,无法显示
2012-10-21 20:11
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
回复 51楼 bccn201203
操作系统是中文的么

个性太多,无法显示
2012-10-22 08:49
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
回复 44楼 TonyDeng
我感觉首先知道手机号码和固话号码的规则和构成,然后再用代码处理

这样正确率高些,思路也更清晰

个性太多,无法显示
2012-10-22 09:02
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
回复 48楼 TonyDeng
我在运行这个代码的时候
处理“电话企业列表”那个网页的时候
很多带区号的固话没有区号了
而且出来的固话号码还少了最后一位

个性太多,无法显示
2012-10-22 09:14
快速回复:版主,来改标题(快速提取电话号码)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.122428 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved