手机号正则表达式

手机号正则表达式

手机号正则表达式是一种用于匹配手机号的规则,也是在开发中比较常用的一种正则表达式。在本文中,我们将详细介绍手机号正则表达式的写法以及如何在不同编程语言中使用它。

正则表达式写法

手机号正则表达式的写法因不同的区域和国家而异,本文以中国大陆地区的手机号为例,其正则表达式写法为:

^1[34578]\d{9}$

上述正则表达式的含义是:以数字1开头,后面跟着3、4、5、7、8中的任意一个数字,再跟着9个数字,共计11位数字构成手机号。需要注意的是,此处的^和$符号分别表示字符串开始和结束的位置。

代码示例

以下是在不同编程语言中如何调用手机号正则表达式的示例代码:

JavaScript

const phoneReg = /^1[34578]\d{9}/;

const phone1 = '13919251546';
const phone2 = '10008675309'; // 非法手机号

if (phoneReg.test(phone1)) {
  console.log(`{phone1} 是一个合法的手机号`);
} else {
  console.log(`{phone1} 不是一个合法的手机号`);
}

if (phoneReg.test(phone2)) {
  console.log(`{phone2} 是一个合法的手机号`);
} else {
  console.log(`${phone2} 不是一个合法的手机号`);
}

上述代码中,我们在JavaScript中定义了一个phoneReg变量,将手机号正则表达式赋值给它,并通过test()方法进行匹配。

Python

import re

phone_reg = re.compile(r'^1[34578]\d{9}$')

phone1 = '13919251546'
phone2 = '10008675309' # 非法手机号

if phone_reg.match(phone1):
  print(f'{phone1} 是一个合法的手机号')
else:
  print(f'{phone1} 不是一个合法的手机号')

if phone_reg.match(phone2):
  print(f'{phone2} 是一个合法的手机号')
else:
  print(f'{phone2} 不是一个合法的手机号')

上述代码中,我们在Python中使用re模块的compile()方法定义了一个phone_reg变量,将手机号正则表达式赋值给它,并通过match()方法进行匹配。

Java

import java.util.regex.Pattern;
import java.util.regex.Matcher;

class Main {
  public static void main(String[] args) {
    String phoneReg = "^1[34578]\\d{9}$";

    String phone1 = "13919251546";
    String phone2 = "10008675309";// 非法手机号

    Pattern pattern = Pattern.compile(phoneReg);

    Matcher matcher1 = pattern.matcher(phone1);
    if (matcher1.find()) {
      System.out.println(phone1 + " 是一个合法的手机号");
    } else {
      System.out.println(phone1 + " 不是一个合法的手机号");
    }

    Matcher matcher2 = pattern.matcher(phone2);
    if (matcher2.find()) {
      System.out.println(phone2 + " 是一个合法的手机号");
    } else {
      System.out.println(phone2 + " 不是一个合法的手机号");
    }
  }
}

上述代码中,我们在Java中使用Pattern和Matcher两个正则表达式相关类,分别进行了手机号正则表达式的定义和匹配。

结论

通过上述实例介绍,我们可以看出手机号正则表达式的写法以及如何在不同编程语言中使用它,希望本文对你有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程