手机号码正则表达式详解

作者:袖梨 2022-06-25

电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)

 代码如下 复制代码
((d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$) 
 

匹配格式:
 
11位手机号码 
3-4位区号,7-8位直播号码,1-4位分机号
正则表达式--验证手机号码:13[0-9]{9} 
实现手机号前带86或是+86的情况:^((+86)|(86))?(13)d{9}$

 代码如下 复制代码

$mobilephone=trim($_POST["smMobilePhone"]);  
//手机号码的正则验证  
if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){  
   //验证通过  
      
}else{  
    //手机号码格式不对  
      

上面的是我们以前的写法,下面介绍最新的手机号正则表达式

现在的手机号码增加了150,153,156,158,159,157,188,189
所以正则表达式如下: string s = @"^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])d{8}$";


万雅虎  的提示,添加180,147等,更加全面的表达式:

 代码如下 复制代码

^(1(([35][0-9])|(47)|[8][0126789]))d{8}$

 

再次修改添加了183,并添加了座机的,如下:

 代码如下 复制代码

手机:^(1(([35][0-9])|(47)|[8][01236789]))d{8}$

座机:^0d{2,3}(-)?d{7,8}$ 

asp.net做法

 代码如下 复制代码

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // string s = @"^(13[0-9]|15[0|3|6|8|9])d{8}$";

              string s = @"^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])d{8}$";
            while (true)
            {
                string input = Console.ReadLine();
                if (Regex.IsMatch(input, s))
                {
                    MessageBox.Show("完全符合!");
                }
                else
                {
                    MessageBox.Show("不符合!");
                }
            }
        }
    }
}

一个完整实例

手机号的那个,各位大爷可以用第一个,也可以用第二个,您随意吧,我不知道手机号现在都有15几了,就都弄上了。。

 代码如下 复制代码


   
   
   
        function CheckChinaMobileID(mobile){
       

 if (mobile==""){
            alert("请填写手机号码!");
            return false;
        }
        if(isNaN(mobile)||(mobile.length!=11)){
            alert("手机号码为11位数字!请正确填写!");
            return false;
        }
        var reg =/^0{0,1}(13[4-9]|15[7-9]|15[0-2]|18[7-8])[0-9]{8}$/;
        if(!reg.test(mobile))
        {
            alert("您的手机号码不是移动号码,请重新输入");
           
            return false;
        }
        alert("大爷,这个真是移动的手机号");
        return true;
    }

function CheckIsMobile(mobile){
       
        if (mobile==""){
            alert("请填写手机号码!");
            return false;
        }
        if(isNaN(mobile)||(mobile.length!=11)){
            alert("手机号码为11位数字!请正确填写!");
            return false;
        }
       
        var reg =/^0{0,1}(13[0-9]|15[0-9])[0-9]{8}$/;
        if(!reg.test(mobile))
        {
            alert("您的手机号码不正确,请重新输入");
           
            return false;
        }
        alert("大爷,这个真是手机号,是哪的我不知道");
        return true;
    }

相关文章

精彩推荐