1. 目前的号码段(2017-06-01更新)
  1. java代码
package com.linbilin.test;import java.util.regex.Pattern;public class CheckPhone {/** 座机电话格式验证 **/private static final String PHONE_CALL_PATTERN = "^(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?$";/*** 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173* **/private static final String CHINA_TELECOM_PATTERN = "(?:^(?:\\+86)?1(?:33|53|7[37]|8[019])\\d{8}$)|(?:^(?:\\+86)?1700\\d{7}$)";/*** 中国联通号码格式验证 手机段:130,131,132,155,156,185,186,145,176,1707,1708,1709,175* **/private static final String CHINA_UNICOM_PATTERN = "(?:^(?:\\+86)?1(?:3[0-2]|4[5]|5[56]|7[56]|8[56])\\d{8}$)|(?:^(?:\\+86)?170[7-9]\\d{7}$)";/*** 简单手机号码校验,校验手机号码的长度和1开头*/private static final String SIMPLE_PHONE_CHECK = "^(?:\\+86)?1\\d{10}$";/*** 中国移动号码格式验证* 手机段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184* ,187,188,147,178,1705* **/private static final String CHINA_MOBILE_PATTERN = "(?:^(?:\\+86)?1(?:3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(?:^(?:\\+86)?1705\\d{7}$)";/*** 仅手机号格式校验*/private static final String PHONE_PATTERN = new StringBuilder(300).append(CHINA_MOBILE_PATTERN).append("|").append(CHINA_TELECOM_PATTERN).append("|").append(CHINA_UNICOM_PATTERN).toString();/*** 手机和座机号格式校验*/private static final String PHONE_TEL_PATTERN = new StringBuilder(350).append(PHONE_PATTERN).append("|").append("(").append(PHONE_CALL_PATTERN).append(")").toString();/*** 匹配多个号码以,、或空格隔开的格式,如 17750581369* 13306061248、(596)3370653,17750581369,13306061248 (0596)3370653* @param input* @param separator 可以自己指定分隔符,如"、, "表示可以以顿号、逗号和空格分隔* @return*/public static boolean checkMultiPhone(String input, String separator) {separator = escapeMetacharacterOfStr(separator);String regex = "^(?!.+["+ separator+ "]$)(?:(?:(?:(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?)|(?:1\\d{10}))(?:["+ separator + "]|$))+$";return match(regex, input);}/*** 转义字符串中的[]-^\元字符* * @param input* @param separator* @return*/private static String escapeMetacharacterOfStr(String input) {String regex = "[-^\\[\\]\\\\]";return input.replaceAll(regex, "\\\\$0");}/*** 仅手机号码校验* * @param input* @return*/public static boolean isPhone(String input) {return match(PHONE_PATTERN, input);}/*** 手机号或座机号校验* * @param input* @return*/public static boolean isPhoneOrTel(String input) {System.out.println(PHONE_TEL_PATTERN);return match(PHONE_TEL_PATTERN, input);}/*** 验证电话号码的格式* * @author LinBilin* @param str*            校验电话字符串* @return 返回true,否则为false*/public static boolean isPhoneCallNum(String str) {return match(PHONE_CALL_PATTERN, str);}/*** 验证【电信】手机号码的格式* * @author LinBilin* @param str*            校验手机字符串* @return 返回true,否则为false*/public static boolean isChinaTelecomPhoneNum(String str) {return match(CHINA_TELECOM_PATTERN, str);}/*** 验证【联通】手机号码的格式* * @author LinBilin* @param str*            校验手机字符串* @return 返回true,否则为false*/public static boolean isChinaUnicomPhoneNum(String str) {return match(CHINA_UNICOM_PATTERN, str);}/*** 验证【移动】手机号码的格式* * @author LinBilin* @param str*            校验手机字符串* @return 返回true,否则为false*/public static boolean isChinaMobilePhoneNum(String str) {return match(CHINA_MOBILE_PATTERN, str);}/*** 简单手机号码校验,校验手机号码的长度和1开头* * @param str* @return*/public static boolean isPhoneSimple(String str) {return match(SIMPLE_PHONE_CHECK, str);}/*** 匹配函数* * @param regex* @param input* @return*/private static boolean match(String regex, String input) {return Pattern.matches(regex, input);}}

java 验证手机号码、电话号码(包括最新的电信、联通和移动号码)相关推荐

  1. java 验证手机号码、电话号码(包括最新的电信、联通和移动号码) 1

    Cooking Regex微信公众号 正则表达式学习 一.目前的号码段(2019-12-04更新) 新增号段 : 1.移动号码:189.198 2.联通号码:166 3.电信号码:191.199 [注 ...

  2. java电话号码_java 验证手机号码、电话号码(包括最新的电信、联通和移动号码)...

    package com.linbilin.test; import java.util.regex.Pattern; public class CheckPhone { /** 座机电话格式验证 ** ...

  3. java验证手机号码的工具类-截止2022年中国大陆四家运营商以及虚拟运营商手机号码校验

    1.中国大陆四家运营商以及虚拟运营商手机号码段 截止2022年2月份中国大陆四家运营商以及虚拟运营商手机号码段如下: 中国移动发布的号码段为:134(0-8),135,136,137,138,139, ...

  4. java验证手机号码

    Pattern pattern = Pattern.compile("^1[3|4|5|7|8][0-9]{9}$"); if (!pattern.matcher(req.getP ...

  5. c#最新验证是否电话号码和手机号码

    //最新是否电话号码和手机号码          public static bool IsPhoneNo(string str_handset)         {             retu ...

  6. 最新js验证手机号码、电话号码、身份证号码正则表达式代码

    js验证手机号码.电话号码.身份证号码正则表达式 手机号码正则表达式验证 固定电话号码正则表达式 身份证正则 手机号码正则表达式验证 function checkPhone(){ var phone ...

  7. Java验证邮箱和手机号码正则表达式

    Java验证邮箱和手机号码: import java.util.regex.Matcher; import java.util.regex.Pattern; /**邮箱正则表达式*/ public f ...

  8. java qq验证手机号码_java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)...

    package util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 使用正则表达式进行表单验证 * ...

  9. 正则判断手机号地区_验证手机号码、电话号码的正则表达式汇总

    电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3} ...

最新文章

  1. Matlab中的一些小技巧
  2. 使用angular2 自带的指令,快捷创建服务,组件等!
  3. 推荐“公主妄想症系列之二:第一次”
  4. 我的内核学习笔记15:海思Hi3516平台GPIO使用记录
  5. Android 蓝牙终端交互管理
  6. centos 安装rarlinux
  7. 用得上的商学课-老路
  8. A fastandrobust convolutionalneuralnetwork-based defect detection model inproductqualitycontrol-阅读笔记
  9. 北大三日游游记(北大信科暑期课堂)
  10. system verilog基础知识总结与复习(随机化)
  11. 什么是数据结构?什么是算法
  12. 流行音乐表明我们的注意力越来越短
  13. java设置excel标题栏_Java EasyExcel写入Excel中复杂头(head)表中的标题的方法及示例代码...
  14. JAVA POI WORD XWPFDocument 常用操作-随时更新
  15. 锎的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. Android 高德地图 自己位置的显示与点地图上任意一点的坐标
  17. excel毫秒、微妙运算
  18. 【油猴Tampermonkey】脚本安装教程+自用脚本推荐
  19. 【无人机】【2017.11】工程检查和地理空间制图用小型无人机系统
  20. 怎么利用群控解决问题

热门文章

  1. jQuery Pagination分页插件的使用
  2. HTML5实践 -- 使用css装饰你的图片画廊 - part2
  3. 学计算机必懂的53个单词缩写
  4. idea_pyspark 环境配置
  5. 博为峰JavaEE技术文章 ——MyBatis 注解
  6. UI控件无法响应点击等事件的探索
  7. linux下如何安装rzsz
  8. .net面试题汇总-第二篇
  9. 五个超酷Linux命令
  10. 设计模式入门,适配器模式,c++代码实现