<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>

解决方案 »

  1.   

    打错几个字
    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'));
    }
      

  2.   

    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("失败");
             }
    }
      

  3.   

    仅供参考。<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
    1388219822515053940956
    15053940956
    1505394095613773965685
    1506994512813822913380652
    1380966033213589688398
    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>
      

  4.   

    有去重复功能的,效率也还可以
    <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>
      

  5.   


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

  6.   

    下载PilotEdit 2.5, http://topic.csdn.net/u/20090512/21/99628cbd-3c70-4d29-91ff-1962f01e7a7c.html1. 新建一个文件,把数据拷贝到这个文件。13864997826
    13595720273
    13869966890
    15053940956
    1388219822515053940956
    15053940956
    1505394095613773965685
    1506994512813822913380652
    1380966033213589688398
    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
    135629728833. 粘贴到一个新文件中,点排序按钮,选择“删除重复的行”,即可得到你要的号码:
    13864997826
    13595720273
    13869966890
    15053940956
    13882198225
    13773965685
    15069945128
    13809660332
    13589688398
    13562972883
      

  7.   

    下载PilotEdit 2.5, http://topic.csdn.net/u/20090512/21/99628cbd-3c70-4d29-91ff-1962f01e7a7c.html1. 新建一个文件,把数据拷贝到这个文件。13864997826
    13595720273
    13869966890
    15053940956
    1388219822515053940956
    15053940956
    1505394095613773965685
    1506994512813822913380652
    1380966033213589688398
    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
    135629728833. 粘贴到一个新文件中,点排序按钮,选择“删除重复的行”,即可得到你要的号码:
    13864997826
    13595720273
    13869966890
    15053940956
    13882198225
    13773965685
    15069945128
    13809660332
    13589688398
    13562972883
      

  8.   

    如果你的号码个数几千到几万还是用别的办法吧
    <!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
    1388219822515053940956
    15053940956
    1505394095613773965685
    1506994512813822913380652
    1380966033213589688398
    05215624565
    13562972883
    13869904038  
    </textarea> <ul id="ul1">
    </ul>
    </body>
    </html>