<html>
<script language="
javascript" type="text/javascript">
/**
Designed By Androidyue
Date:2011-01-20
功能:判断所填入号码的运营商
该函数按照以下标准实现
移动:134-139 151 188
联通:130-132 156
电信:133 189 155
关于这些号段之外的号码查询将提示暂无数据信息
同时由于携号入网的实施导致号码的运营商变化且存在不确定性
本程序只做为正则表达式学习交流使用,可随意传播,但是由该程序造成的错误,作者概不负责!
**/
function getServiceProvider(){
//获取用户输入框的信息
var phoneNumber=document.getElementById("phoneInfo").value;
//如果用户输入框不包含任何信息
if(phoneNumber==""){
alert("输入手机号码信息不能为空");
return ;
}
//如果用户输入的不是11位数据
if(phoneNumber.length!=11){
alert("请输入一个11位的标准手机号码");
return ;
}
//设置匹配正则表达式内容
var re=/1(/d)(/d)(/d{8})/;
//进行匹配字符串
var arrResult=phoneNumber.match(re);
//如果匹配无结果
if(arrResult==null){
alert("请核实你输入的电话号码是否存在或是否被包含非数字字符");
return;
}else{
//if(arrResult.length!=0){
if(RegExp.$1==3){//如果第二位数字是3,判断第三位数字
switch(RegExp.$2){//判断第三位数字
case '0'://130 131 132 是联通号段
case '1':
case '2':
alert("这是一个联通手机号码");
break;
case '3'://133 为电信号段
alert("这是一个电信手机号码");
break;
case '4'://134 135 136 137 138 139 是移动号段
case '5':
case '6':
case '7':
case '8':
case '9':
alert("这是一个移动手机号码");
break;
}
return;
}
if(RegExp.$1==5){//如果第二位数字是5
switch(RegExp.$2){//判断第三个数字
case '1'://151 是移动号段
alert("这是一个移动手机号码");
break;
case '5'://155是联通号段
alert("这是一个联通手机号码");
break;
case '6'://156 是电信号段
alert("这是一个电信手机号码");
break;
default://其他前2为是15 但第三位不是1 5 6 的电话号码,暂时显示暂无数据
alert("您输入的手机号码暂无数据");
break;
}
return;
}
if(RegExp.$1==8){//如果第二位数字是8 判断第三位数字
switch(RegExp.$2){
case '8'://188 是移动号段
alert("这是一个移动手机号码");
break;
case '9'://189 是电信号段
alert("这是一个电信手机号码");
break;
default://其他前两位是18 但是第三位不是 8 9 的电话号码,显示暂无数据
alert("您输入的手机号码暂无数据");
break;
}
return;
}
alert("你输入的电话号码暂无数据");
return;
}//如果有匹配的结束标志
}// the end of the function getServiceProvider
</script>
<body>
请输入你要查询运营商的手机号码:
<input type="text" name="phoneInfo" id="phoneInfo">
<input type="button" value="查询" onclick="getServiceProvider()">
</body>
</html>