Java使用正则表达式验证手机号和电话号码的方法
作者:执笔记忆的空白 发布时间:2023-11-20 08:07:12
标签:java,正则表达式,验证,手机,电话,号码
一个朋友需要,所以写了这两个,话不多说,看代码
中国电信号段 133、149、153、173、177、180、181、189、199
中国联通号段 130、131、132、145、155、156、166、175、176、185、186
中国移动号段 134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198
其他号段
14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。
虚拟运营商
电信:1700、1701、1702
移动:1703、1705、1706
联通:1704、1707、1708、1709、171
卫星通信:1349
/**
* 获取当前的httpSession
* @return
*/
public static HttpSession getSession() {
return getRequest().getSession();
}
/**
* 手机号验证
* @param str
* @return 验证通过返回true
*/
public static boolean isMobile(final String str) {
Pattern p = null;
Matcher m = null;
boolean b = false;
p = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$"); // 验证手机号
m = p.matcher(str);
b = m.matches();
return b;
}
/**
* 电话号码验证
* @param str
* @return 验证通过返回true
*/
public static boolean isPhone(final String str) {
Pattern p1 = null, p2 = null;
Matcher m = null;
boolean b = false;
p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的
p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的
if (str.length() > 9) {
m = p1.matcher(str);
b = m.matches();
} else {
m = p2.matcher(str);
b = m.matches();
}
return b;
}
public static void main(String[] args) {
String phone = "13900442200";
String phone2 = "021-88889999";
String phone3 = "88889999";
String phone4 = "1111111111";
//测试1
if(isPhone(phone) || isMobile(phone)){
System.out.println("1这是符合的");
}
//测试2
if(isPhone(phone2) || isMobile(phone2)){
System.out.println("2这是符合的");
}
//测试3
if(isPhone(phone3) || isMobile(phone3)){
System.out.println("3这是符合的");
}
//测试4
if(isPhone(phone4) || isMobile(phone4)){
System.out.println("4这是符合的");
}else{
System.out.println("不符合");
}
}
来源:https://blog.csdn.net/moneyshi/article/details/53466795
0
投稿
猜你喜欢
- 本文实例为大家分享了python编写简单计算器的具体代码,供大家参考,具体内容如下做一个计算器,这是我们想要的效果。1、准备工作导入time
- 本文实例讲述了Python实现繁体中文与简体中文相互转换的方法。分享给大家供大家参考,具体如下:工作中需要将繁体中文转换成简体中文上网找了些
- 关于怎么获得,我想其实网上有很多答案。list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样
- 表结构的修改1、表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错比如第一次建模型,漏了
- 在GUI编程中有一个不容忽视的部分,那就是布局管理。布局管理掌控着我们的控件在应用程序窗口如何摆放。布局管理可以通过两种方式来完成。我们可以
- 操作 redisimport redisredisPool = redis.ConnectionPool(host='192.168
- JavaScript 读取、删除 Cookie 的函数* * WebFXCookie class */ fun
- 所谓的列表推导式,就是指的轻量级循环创建列表。基本使用方式# 创建一个0-10的列表a = [x for x in range(11)]pr
- 最近在做项目的时候经常会用到定时任务,由于我的项目是使用Java来开发,用的是SpringBoot框架,因此要实现这个定时任务其实并不难。后
- 很多人都有研究闭合浮动元素的问题,但是解决方法却不一样,也并不是每一种方法都尽善尽美。闭合浮动元素(或者叫清除浮动)是web标准设计中经常会
- 本文实例讲述了python使用正则表达式提取网页URL的方法。分享给大家供大家参考。具体实现方法如下:import reimport url
- 在制作一个 Python 分发包时经常需要把一些文件添加到包中。最常见的例子是你希望通过 pip install 命令安装 Pyt
- 简介卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域
- 参考: Smashing magzine翻译+整理: Demix当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节。然而代码并不是马
- 概述不知从何时起,Python和爬虫就如初恋一般,情不知所起,一往而深,相信很多朋友学习Python,都是从爬虫开始,其实究其原因,不外两方
- 本文所述实例来自独立软件开发者 Alex Marandon,在他的博客中曾介绍了数个关于 Python Collection 的实用小技巧,
- 列表(List) 的三种遍历(序号和值)方法if __name__ == '__main__':
- psutil是一个跨平台的Python库,它允许你获取有关系统进程和系统资源使用情况的信息。它支持Windows、Linux、OS X、Fr
- Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户机/服务器结构的应用程序。它是对个人用户和商业用户是免费的.Mysql数据库具
- 学习Python的过程中,我们会遇到Excel的读写问题。这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Exc