Java使用正则表达式验证手机号和电话号码_java验证手机号的正则表达式-程序员宅基地

技术标签: 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("不符合");
  }
 }

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/YiWangJiuShiXingFu/article/details/118573939

智能推荐

c语言的翻译叫什么_C语言是什么意思_C语言的翻译_音标_读音_用法_例句_爱词霸在线词典...-程序员宅基地

文章浏览阅读584次。全部Using C ++ language, constructs an admittance matrix modify program.使用C++语言, 构建了导纳矩阵修改程序.互联网System uses C language program and shown good readability and portability.系统采用C语言编程,可读性和可移植性强.互联网Check the..._c语言翻译

小程序弹出框详解_小程序底部弹出框组件 掘金-程序员宅基地

文章浏览阅读2.2k次。小程序弹出框详解qjlx: function() { var itemList = ['病假', '事假']; wx.showActionSheet({ itemList: itemList, success: function(res) { console.log(res); console.log(itemList[r..._小程序底部弹出框组件 掘金

图文详解:阿里宠儿RabbitMQ的养成攻略-程序员宅基地

文章浏览阅读522次。今天给大家带来的的是关于RabbitMQ的养成攻略,RabbitMQ 中的 Rabbit 是兔子的意思,就是形容跑的和兔子一样快。是一款轻量级的,支持多种消息传递协议的高可用的消息队列。..._rabbitmq 阿里巴巴

WebView显示的网页在大分辨率屏下被放大 - 密度惹的祸_zoomdensity.close-程序员宅基地

文章浏览阅读1.6k次。例如适合800px宽度的页面,如果通过WebView在1024px的屏幕宽度下显示时,内容(图片)会被放大,整体页面会超出屏幕。 试了将WebView的settings中的缩放都关闭了也不行。 后来发现了WebSettings.ZoomDensity这个设置,并在文档中找到了以下说明: Enum for specifying the WebView's desired _zoomdensity.close

腾讯云16核32G28M轻量应用服务器测评报告:2024年高并发处理能力及优惠活动解析-程序员宅基地

文章浏览阅读386次,点赞5次,收藏8次。首先,我们需要明确一个概念:服务器的并发数不仅取决于服务器的硬件配置,还与网络带宽、应用类型等因素密切相关。当然,如果用户的访问时间延长,服务器所能支持的并发数也会相应增加。比如,如果网站页面的平均访问时长是3秒,那么腾讯云的这款服务器实际上可以支持54人同时访问。超出套餐部分的流量将按照腾讯云的标准价格进行计费,广州/上海/北京等核心地域的流量价格为0.8元/GB。总之,腾讯云的16核32G28M轻量应用服务器在支持用户并发数方面表现出色,无论是带宽资源还是流量套餐都足以满足大部分应用场景的需求。

记一次物理机安装centos7遇到的问题_modprobe error could not-程序员宅基地

文章浏览阅读1.2k次。记住设备名(sdb4),然后按ctrl + alt + del 重启,进入安装界面,按TAB编辑配置,改为vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet,即可进入安装界面,安装完成。请注意,这只是一个临时的解决方案,重启系统后 SELinux 将恢复到原来的状态。修改下方配置.img后面的为 linux dd quiet,按下回车后可以查看U盘的对应设备号sdb4,如果没看到的话可以输入r刷新几次。开启着的,说的是这个会影响某些路径的访问。_modprobe error could not

随便推点

/usr/local/lib/python3.6/dist-packages/bs4/__init__.py:220: UserWarning: You provided Unicode markup_userwarning: you provided unicode markup but also -程序员宅基地

文章浏览阅读3.4k次。/usr/local/lib/python3.6/dist-packages/bs4/init.py:220: UserWarning: You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.warnings.warn(“You provided Unicode markup but also provided a value for from__userwarning: you provided unicode markup but also provided a value for from_

清华申请退学博士作品:完全用Linux工作_windows linux 清华退学-程序员宅基地

文章浏览阅读2.9k次。按: 尽管我们已经不习惯看长篇大论, 但我还是要说, 这是一篇值得你从头读到尾的长篇文章.2005年9月22日,清华在读博士生王垠在水木社区BLOG上发表了《清华梦的粉碎--写给清华大学的退学申请》明确要求退学, 引起社会各界广泛争论. 他创作的长篇文章《完全用Linux工作》, 洋洋两万多字, 从不同角度居高临下的阐述了他眼中Linux完全优越于Windows的各种理由, 这篇文章并不简单的是一_windows linux 清华退学

SmartForms 之二--设计_smartforms style standard paragraph is not filled-程序员宅基地

文章浏览阅读946次。 文章原址为:http://www.cnblogs.com/zhumk/archive/2005/06/04/167904.htmlABAP:SmartForms 之二--设计 报表要求:(见下表)要求:1、不是套打,表格线也需要输出2、每张报表打印8行记录,不足的空白行也需要输出3、按凭证号打印单据,可以连续打印多张报表。 一、创建样式:在创建Form之前,需要创建多种段落_smartforms style standard paragraph is not filled

Hive函数:row_number() over() 、 rank和dense_rank_row_number() over()和rank-程序员宅基地

文章浏览阅读1.4k次。row_number() over()为查询出来的每一行记录生成一个序号。序号从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列。示例:利用row_number函数,对表中的数据根据id进行分组,按照pv倒序排序求最大的pv相关信息。select t.id, t.date, t.pvfrom(selectid,date, pv, row_number() over(partition by id ord_row_number() over()和rank

Java 创建一个快捷窗口 用于监控文件夹与打开文件夹_jframe 打开文件夹-程序员宅基地

文章浏览阅读430次。【代码】Java 创建一个快捷窗口 用于监控文件夹与打开文件夹。_jframe 打开文件夹

html中table监听修改事件,监听element-ui table滚动事件的方法-程序员宅基地

文章浏览阅读745次。背景做管理平台的项目,用到了element-ui,需要通过监听el-table滚动的位置来获取最新的数据,那么怎么样监听el-table的滚动呢?准备我们默认的技术栈是 vue+element-uitemplate代码::data="logList":show-header="false"row-class-name="table-row-class"height="700"ref="table"..._html监听表格加载事件