思路:
1.用正则取出所有数字串
说起来容易,做起来难,开始只是简单的/D+/,后边发现这样做会将固定电话分成两段数字串,后经百度找到解决办法 /[^0-9/-]/ 意思是非数字不包括-作为分割
2.判断是否为手机号、固定电话号
代码:
<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>