一个<textarea >输入框,当输入或粘贴号码进去时怎么自动过滤掉手机号(13和15开头的)或小灵通号码(02188888888/075412345678/05711234567,小灵通的号码有可能是七位或八位),并在每个号码后换行(一号码一行)。比如输入
13812345678
1432345345
13242344323
15912345678
05788765431
057112345678
02112345678
12345435
1381234567红色标记的应该都属于非法手机号或小灵通号,这时就自动过滤掉变成
13812345678
13242344323
15912345678
05788765431
057112345678
02112345678
============
请教大家这要怎么实现呢。谢谢

解决方案 »

  1.   

    function check(var num)
    {
      return /^\d{7,10}$/.test(num);
    }
      

  2.   

    你可以研究一下javascript 里的RegExp(正则表达式)
      

  3.   

    var reg = /13\d{9}|15\d{9}/;
      

  4.   


    var numbers = [
    '13812345678',
    '1432345345',
    '13242344323',
    '15912345678',
    '05788765431',
    '057112345678',
    '02112345678',
    '12345435',
    '1381234567'
    ];function filterNumber(numList) {
    var res = [],
    filterReg = new RegExp("(^(13|15)\\d{9})|0\\d{2,3}\\d{7,8}");
    for (var i = 0, ln = numList.length; i < ln; i++) {
    var matches = numList[i].match(filterReg);
    if (matches) {
    res.push(matches[0]);
    }
    }

    return res;
    }
    var res = filterNumber(numbers);
    console.log(res)// output: 13812345678,13242344323,15912345678,05788765431,057112345678,02112345678
      

  5.   

    <html><head>
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
       $("#btnFilter").click(function(){
         var text = $("textarea").val();
         var part = /((13|15)\d{9}\n?)|(0\d{9,10}\n)/gi;
         
         var temp = text.match(part);
              
          $("textarea").val(temp.join(''));
      });
    });
    </script>
    </head><body>
    <textarea rows='15'>
    13812345678
    1432345345
    13242344323
    15912345678
    05788765431
    057112345678
    02112345678
    12345435
    1381234567
    </textarea>
    <input type='button' id='btnFilter' value='过滤' >
    </body></html>