js手机号码正则表达式如何写,js正则手机怎么写

2025-10-15 11:33:06

1、首先介绍下2个基本javascript正则表达式语法:

1.使用[0-9]可以匹配一个阿拉伯数字

2.使用\d也可以匹配一个阿拉伯数字(这个其实是[0-9]的简写方式)

3.使用{n,m}可以匹配被修改对象的出现次数大于等于n,小于等于m次数

js手机号码正则表达式如何写,js正则手机怎么写

2、首先介绍如何使用javascript正则来匹配中国电信段手机号码:

1.电信段分别有:133,153,180,181,189,177 总共六个号段

2.第一位为数字1

3.第二位分别是3,5,7,8

4.第三位分别是0,1,3,7,9

所以前三位的javascript正则如下:

1[3578][01379]\d{8}

其中1匹配本身,[3578]可以匹配方括号中的任意一位,

[01379]可以匹配方括号中的任意一位

\d{8}可以匹配8位数字,每一位数字可以是0到9的任意一位数字

js手机号码正则表达式如何写,js正则手机怎么写

3、首先介绍如何使用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[34578][01256]\d{8}

其中1匹配本身,[34578]可以匹配方括号中的任意一位,

[01256]可以匹配方括号中的任意一位

\d{8}可以匹配8位数字,每一位数字可以是0到9的任意一位数字

js手机号码正则表达式如何写,js正则手机怎么写

4、首先介绍如何使用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[012345678]\d{7}或1[34578][012356789]\d{8}

其中1匹配本身,[34578]可以匹配方括号中的任意一位,

[01256]可以匹配方括号中的任意一位

\d{8}可以匹配8位数字,每一位数字可以是0到9的任意一位数字

js手机号码正则表达式如何写,js正则手机怎么写

5、经过以上几个步骤,就能分别确定移动,联通,和电信的正则表达式了

我们可以写一个js函数

//判断text参数是否是手机格式

//返回值为0,则不是手机格式

//返回值为1,则是移动手机号码

//返回值为2,则是联通手机号码

//返回值为3,则是电信手机号码

function  IsMobile(text){

    var _emp=/^\s*|\s*$/g;

    text=text.replace(_emp,"");

    var _d=/^1[3578][01379]\d{8}$/g;

    var _l=/^1[34578][01256]\d{8}$/g;

    var _y=/^(134[012345678]\d{7}|1[34578][012356789]\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;

}

js手机号码正则表达式如何写,js正则手机怎么写

6、这个是测试代码页面的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

    <title>Untitled Page</title>

</head>

<script type="text/javascript">

    function IsMobile(text) {

        var _emp = /^\s*|\s*$/g;

        text = text.replace(_emp, "");

        var _d = /^1[3578][01379]\d{8}$/g;

        var _l = /^1[34578][01256]\d{8}$/g;

        var _y = /^(134[012345678]\d{7}|1[34578][012356789]\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;

    }

</script>

<body>

验证电信手机号码:<input type="text" id="txtd" value="13012321231" /><span id="spd" style="color:Red;"></span>

<br />

验证联通手机号码:<input type="text" id="txtl" value="17012313221" /><span id="spl" style="color:Red;"></span>

<br />

验证移动手机号码:<input type="text" id="txty" value="13913132231" /><span id="spy" style="color:Red;"></span>

<br />

<input type="button" id="btnVal" value="验证"/>

<script>

    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) ? "验证通过" : "验证不通过";

    }

</script>

</body>

</html>

js手机号码正则表达式如何写,js正则手机怎么写

7、1.运行结果。

js手机号码正则表达式如何写,js正则手机怎么写

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢