思路: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>