用js實現匹配文本中的電話號、固定電話號

思路:javascript

1.用正則取出全部數字串html

  提及來容易,作起來難,開始只是簡單的/D+/,後邊發現這樣作會將固定電話分紅兩段數字串,後經百度找到解決辦法 /[^0-9/-]/ 意思是非數字不包括-做爲分割java

2.判斷是否爲手機號、固定電話號測試

代碼:spa

<html>
<head>
    <title>號碼</title>
</head>
<body>
    <input id="ss" type="text" ></input>
    <button type="button" onclick="checkTel()">判斷</button>
</body>
<script type="text/javascript">
 function checkTel()
 {
    var isPhone = /^0[0-9]{2,3}-?[0-9]{8}$/;//固話
    var isMob=/^(((\+?86)|(\(\+86\)))?([1][3,4,5,7,8][0-9]{9}))$/;//手機
    var val=document.getElementById("ss").value;//獲得文本內容 object類型
    var num=val.split(/[^0-9/-/+]/); // 分割取出連續數字
    var s =num.toString();  //轉化成字符串  測試數據  我+8617776032602dian02165478932hua158021123456789464269de8615894604269
    var arr=s.split(",");
    var tel=[];
    var sol=[];
    for(var i=0;i<arr.length;i++)
    {
        if(isPhone.test(arr[i]))
        {
            sol+=arr[i]+",";
        }
        else if(isMob.test(arr[i]))
        {
            tel+=arr[i]+",";
        }
        /*else
        {
            alert("沒有搜索到電話/固話");
        }*/
    }
    alert("手機號 "+tel+"固定電話號 "+sol);
 }
</script>
</html>
相關文章
相關標籤/搜索