js手机号码正则表达式如何写,js正则手机怎么写
的有关信息介绍如下:在工作中经常碰到要验证或获取文本内容中手机号码的任务,大部分时候是通过百度搜索一个,然后COPY,但经常看到多种版本,这里想介绍下在javascript开发语言中,如何使用正则表达式来验证和获取电信,移动,联通手机号码的简易知识。
首先介绍下2个基本javascript正则表达式语法:
1.使用可以匹配一个阿拉伯数字
2.使用\d也可以匹配一个阿拉伯数字(这个其实是的简写方式)
3.使用{n,m}可以匹配被修改对象的出现次数大于等于n,小于等于m次数
首先介绍如何使用javascript正则来匹配中国电信段手机号码:
1.电信段分别有:133,153,180,181,189,177总共六个号段
2.第一位为数字1
3.第二位分别是3,5,7,8
4.第三位分别是0,1,3,7,9
所以前三位的javascript正则如下:
1\d{8}
其中1匹配本身,可以匹配方括号中的任意一位,
可以匹配方括号中的任意一位
\d{8}可以匹配8位数字,每一位数字可以是0到9的任意一位数字
首先介绍如何使用javascript正则来匹配中国联通段手机号码:
1.联通段分别有:130,131,132,155,156,145,185,186,176 总共九个号段
2.第一位为数字1
3.第二位分别是3,4,5,7,8
4.第三位分别是0,1,2,5,6
所以前三位的javascript正则如下:
1\d{8}
其中1匹配本身,可以匹配方括号中的任意一位,
可以匹配方括号中的任意一位
\d{8}可以匹配8位数字,每一位数字可以是0到9的任意一位数字
首先介绍如何使用javascript正则来匹配中国移动段手机号码:
1.移动段分别有:1340,1341,1342,1343,1344,1345,1346,1347,1348,135,136,137,138,139,150,151,152,158,159,182,183,184,157,187,188,147,178 总共二十七个号段
2.第一位为数字1
3.第二位分别是3,4,5,7,8
4.第三位分别是0,1,2,3,4,5,6,7,8,9
所以前三位的javascript正则如下:
134\d{7}或1\d{8}
其中1匹配本身,可以匹配方括号中的任意一位,
可以匹配方括号中的任意一位
\d{8}可以匹配8位数字,每一位数字可以是0到9的任意一位数字
经过以上几个步骤,就能分别确定移动,联通,和电信的正则表达式了
我们可以写一个js函数
//判断text参数是否是手机格式
//返回值为0,则不是手机格式
//返回值为1,则是移动手机号码
//返回值为2,则是联通手机号码
//返回值为3,则是电信手机号码
function IsMobile(text){
var _emp=/^\s*|\s*$/g;
text=text.replace(_emp,"");
var _d=/^1\d{8}$/g;
var _l=/^1\d{8}$/g;
var _y=/^(134\d{7}|1\d{8})$/g;
if(_d.test(text)){
return 3;
} else if(_l.test(text)){
return 2;
}else if(_y.test(text)){
return 1;
}
return 0;
}
这个是测试代码页面的代码
function IsMobile(text) {
var _emp = /^\s*|\s*$/g;
text = text.replace(_emp, "");
var _d = /^1\d{8}$/g;
var _l = /^1\d{8}$/g;
var _y = /^(134\d{7}|1\d{8})$/g;
if (_d.test(text)) {
return 3;
} else if (_l.test(text)) {
return 2;
} else if (_y.test(text)) {
return 1;
}
return 0;
}
验证电信手机号码:
验证联通手机号码:
验证移动手机号码:
document.getElementById("btnVal").onclick = function () {
document.getElementById("spd").innerHTML = IsMobile(document.getElementById("txtd").value) ? "验证通过" : "验证不通过";
document.getElementById("spl").innerHTML = IsMobile(document.getElementById("txtl").value) ? "验证通过" : "验证不通过";
document.getElementById("spy").innerHTML = IsMobile(document.getElementById("txty").value) ? "验证通过" : "验证不通过";
}
1.运行结果。