最新手机号码正则表达式(php版)

发布时间:2019-11-04编辑:脚本学堂
本文介绍下,用正则表达式验证手机号码的方法,可以验证最新的手机号码段,包括150、158、159、188等。有需要的朋友参考下吧。

之前,脚本学堂,为大家介绍过一些用于验证手机号码的正则,比如:
php匹配电话号码的正则表达式(支持区位、直播号码、分机号码)
php常用正则表达式(日期 电话 中文 邮箱等)

不过,现在手机号码增加了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}$

 
下面介绍下在php与java中用到的二个正则表达式验证手机号码的例子。

1,php版
 

复制代码 代码示例:
<?php
$text = '15812345678';
$search ='/^(1(([35][0-9])|(47)|[8][0126789]))d{8}$/';
if(preg_match($search,$text)) {
 echo '手机完全符合';
}else {
 echo '手机格式不符合';
}//edit by www.jb200.com
?>

2,java版
 

复制代码 代码示例:

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("不符合!");
                }
            }
        }
    }
}