寻求--提取手机号码相关的正则表达式

mysite365 2009-06-11 04:22:31

13864997826











13595720273







13869966890
15053940956



13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565




13562972883
13869904038


例如有以上手机号码文本
每行一个手机号码

现在要求如下:

1.取掉每行之间的空白
2.去除不合法的手机号码
(包含-去掉里面的电话号码,去掉长度不是11的号码)
3.很多重复的手机号码,只保留一个

...全文
382 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaofengnet 2009-06-13
  • 打赏
  • 举报
回复
^(86|\(86\)|86\-)(0|)1[358]\d{9}$
  • 打赏
  • 举报
回复
在本机测试了下,这个算法处理一万多行记录131毫秒能看到延迟了如果数据量再大估计应付起来就有困难了
  • 打赏
  • 举报
回复
如果你的号码个数几千到几万还是用别的办法吧
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>手机号提取</title>
<script type="text/javascript">
function $(sId){
return document.getElementById(sId);
}

function getPhones(){
var sPhone,phones={};
var sTxt=$("id1").value;
var oReg=/^\s*(\d+)\s*$/mgi;
var oLi,oFrag,oUl=$("ul1");

while(oReg.exec(sTxt)){
sPhone=RegExp.$1
phones[sPhone]=sPhone;
}

oFrag=document.createDocumentFragment();
for(var el in phones){
oLi=document.createElement("li");
oLi.innerHTML=el;
oFrag.appendChild(oLi);
}
oUl.appendChild(oFrag);
}

window.onload=function(){
getPhones();
};
</script>
</head>
<body>
<textarea id="id1" name="test" rows="6" cols="30">
13864997826


13595720273


13869966890
15053940956


13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565


13562972883
13869904038
</textarea>

<ul id="ul1">
</ul>
</body>
</html>

纠结的程序猿 2009-06-12
  • 打赏
  • 举报
回复
下载PilotEdit 2.5, http://topic.csdn.net/u/20090512/21/99628cbd-3c70-4d29-91ff-1962f01e7a7c.html

1. 新建一个文件,把数据拷贝到这个文件。

13864997826


13595720273


13869966890
15053940956


13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565


13562972883
13869904038


2. 点排序按钮,选择“比较由正则表达式定义的字符串”,输入下面的正则表达式和目标字符串(没有空格):
正则表达式:^1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$
目标字符串:%01%02%03%04%05%06%07%08%09%10%11

点“将目标字符串拷贝到剪贴板”,即可将你要的数据拷贝到剪贴板:

13864997826
13595720273
13869966890
15053940956
13882198225
15053940956
15053940956
15053940956
13773965685
15069945128
13809660332
13589688398
13562972883

3. 粘贴到一个新文件中,点排序按钮,选择“删除重复的行”,即可得到你要的号码:
13864997826
13595720273
13869966890
15053940956
13882198225
13773965685
15069945128
13809660332
13589688398
13562972883
纠结的程序猿 2009-06-12
  • 打赏
  • 举报
回复
下载PilotEdit 2.5, http://topic.csdn.net/u/20090512/21/99628cbd-3c70-4d29-91ff-1962f01e7a7c.html

1. 新建一个文件,把数据拷贝到这个文件。

13864997826


13595720273


13869966890
15053940956


13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565


13562972883
13869904038


2. 点排序按钮,选择“比较由正则表达式定义的字符串”,输入下面的正则表达式和目标字符串(没有空格):
正则表达式:1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$
目标字符串:%01%02%03%04%05%06%07%08%09%10%11

点“将目标字符串拷贝到剪贴板”,即可将你要的数据拷贝到剪贴板:

13864997826
13595720273
13869966890
15053940956
13882198225
15053940956
15053940956
15053940956
13773965685
15069945128
13809660332
13589688398
13562972883

3. 粘贴到一个新文件中,点排序按钮,选择“删除重复的行”,即可得到你要的号码:
13864997826
13595720273
13869966890
15053940956
13882198225
13773965685
15069945128
13809660332
13589688398
13562972883
mysite365 2009-06-12
  • 打赏
  • 举报
回复
谁能说下,去重复的是哪部分代码。。
linpansheng 2009-06-12
  • 打赏
  • 举报
回复
^(13\d|15(0|3|9)|18(6|8|9))\d{8}$
rainsome 2009-06-11
  • 打赏
  • 举报
回复

//取重复的 稍作修改
//s=s+val+'<br/>';改为
var regex=new RegExp(val,'g');
if(!regex.test(s)) s = s+ val +' <br/>';



[Quote=引用 5 楼 Rainsome 的回复:]
仅供参考。
HTML code<html><head><title>test</title></head><scriptlanguage="javascript"><!--//functionfun1()
{varinput=document.getElementById("id1").value;vars='';
input.replace(/^1[35]\d{9}$/gm,function(val){
s=s+val+'<br/>';
});returns;
}//--></script><body><textareaid="id1"name="test"rows="6"cols="100">13864997826


13595720273


1386996689…
[/Quote]
浪尖赏花 2009-06-11
  • 打赏
  • 举报
回复
有去重复功能的,效率也还可以
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test</title>
<script defer>
String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g,"");
}
function isPhoneNumber(str){
var re=/^(13[0-9]|15[0-9]|168|189)\d{8}$/g;
return re.test(str);
}
function getPhone(){
var text = document.getElementById("t1").innerText;
var arr = text.split("\r\n");
var obj = new Object();
for(var i=0;i<arr.length;i++){
arr[i] = arr[i].Trim();
if(arr[i]!=""){
if(isPhoneNumber(arr[i])){
eval("obj.num"+arr[i]+"="+arr[i]+";");
}
}
}

var newArr = new Array();
for(var j in obj){
newArr[newArr.length] = obj[j];
}
alert(newArr);
}

getPhone();
</script>
</head>

<body>
<textarea id=t1 rows=20>
13864997826


13595720273


13869966890
15053940956


13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565


13562972883
13869904038
</textarea>
</body>

</html>
rainsome 2009-06-11
  • 打赏
  • 举报
回复
仅供参考。

<html>
<head>
<title>test</title>
</head>
<script language="javascript">
<!--//
function fun1()
{
var input=document.getElementById("id1").value;
var s='';
input.replace(/^1[35]\d{9}$/gm,function(val){
s = s+ val +' <br/>';
});
return s;
}
//-->
</script>
<body>
<textarea id="id1" name="test" rows="6" cols="100">13864997826


13595720273


13869966890
15053940956


13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565


13562972883
13869904038 </textarea>
<br/>
<input type="button" value="OK" onclick="javascript:document.getElementById('show').innerHTML=fun1();"/>
<div>Result:</div>
<div id="show"></div>
</body>
</html>
FangYANYI 2009-06-11
  • 打赏
  • 举报
回复
function telPhoneVa(s)
{
var Reg_Te=/^(130|131|132|133|134|135|136|137|138|139)\d{8}$/
var Reg_k=/\s/ig;
s=s.replace(Reg_k,"");
if(Reg_Te.test(s))
{
alert(s);
alert("成功");
}else
{
alert("失败");
}
}
monexus 2009-06-11
  • 打赏
  • 举报
回复
打错几个字
window.onload = function(){
var ret = [], done = {}, pattern = /^\s*(\d{11})\s*$/, nums = document.getElementById('nums');
nums = (nums.innerText || nums.textContent).split(/\r\n|\n/);
for (var num, i = 0; i < nums.length; i++) {
if (pattern.test(nums[i])) {
num = nums[i].replace(pattern, '$1');
if(!done[num]) ret.push(num), done[num] = 1;
}
}
alert(ret.join('\n'));
}
monexus 2009-06-11
  • 打赏
  • 举报
回复
<script type="text/javascript">
window.onload = function(){
var ret = [], done = {}, pattern = /^\s*(\d{11})\s*$/, nums = document.getElementById('nums');
nums = (nums.innerText || nums.textContent).split(/\r\n|\n/);
for (var num, i = 0; i < nums.length; i++) {
if (pattern.test(texts[i])) {
num = texts[i].replace(pattern, '$1');
if(!done[num]) ret.push(num), done[num] = 1;
}
}
alert(ret.join('\n'));
}
</script>
<div id="nums">

13864997826


13595720273


13869966890
15053940956


13882198225

15053940956
15053940956
15053940956

13773965685
15069945128

13822913380652
13809660332

13589688398
05215624565


13562972883
13869904038


</div>
浪尖赏花 2009-06-11
  • 打赏
  • 举报
回复
...只用正则?
就算能做到,执行速度也会让你受不了
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
如果您下载了本程序,但是该程序无法运行,或者您不会部署,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
如果您下载了本程序,但是该程序无法运行,或者您不会部署,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧