java电话号码_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电话号码_java 验证手机号码、电话号码(包括最新的电信、联通和移动号码)...相关推荐
- JAVA学习代码——验证手机号码是否正确
利用正则表达式判断手机号码 import java.util.Scanner;public class Test {//输入手机号码检查是否有误public String checkMobile(St ...
- java表单验证手机号码位数,jquery验证手机号码和邮箱地址例子
//jquery验证邮箱 function checkSubmitEmail(){ if($("#email").val()==""){ $("#co ...
- java 验证手机号码、电话号码(包括最新的电信、联通和移动号码)
目前的号码段(2017-06-01更新) java代码 package com.linbilin.test;import java.util.regex.Pattern;public class Ch ...
- java 验证手机号码、电话号码(包括最新的电信、联通和移动号码) 1
Cooking Regex微信公众号 正则表达式学习 一.目前的号码段(2019-12-04更新) 新增号段 : 1.移动号码:189.198 2.联通号码:166 3.电信号码:191.199 [注 ...
- java表单验证手机号码位数_正则手机号码验证(一)
function Checkreg() { //验证电话号码手机号码,包含153,159号段 if (document.form.phone.value=="" && ...
- c#最新验证是否电话号码和手机号码
//最新是否电话号码和手机号码 public static bool IsPhoneNo(string str_handset) { retu ...
- java 固定电话_Java正则表达式验证固定电话号码符合性
下面给大家介绍Java正则表达式验证固定电话号码符合性,具体代码如下所示: /** * 验证固定电话号码的合法性 * @author jy */ package phone; import java. ...
- 最新js验证手机号码、电话号码、身份证号码正则表达式代码
js验证手机号码.电话号码.身份证号码正则表达式 手机号码正则表达式验证 固定电话号码正则表达式 身份证正则 手机号码正则表达式验证 function checkPhone(){ var phone ...
- 正则判断手机号地区_验证手机号码、电话号码的正则表达式汇总
电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3} ...
最新文章
- 世界上最美丽的23个公式
- PHP中switch条件语句的使用,php条件语句(2)switch...case语句
- Bootstrap4+MySQL前后端综合实训-Day01-AM【实训安排、HBuilder下载及使用、双飞翼布局(圣杯布局)案例、CSS在线手册、flex布局中的对齐方式】
- markdown文件转word文件
- 常见的SQL笔试题和面试题:SQL经典50题
- Android--JNI编程详解
- for和foreach
- cstring越界_CString 内核
- Error parsing HTTP request header Larger错误解决方法
- HDU 2063:过山车(匈牙利算法模板题)
- 程序员学习时间的由来
- 树莓派—raspbian软件源
- F-score is ill-defined and being set to 0.0 due to no predicted samples.
- vs2019中采用C++编程使用python中的matplotlib画图库
- 基于javaweb的设备台账管理系统(java+ssm+html+jsp+js+mysql)
- 趣图:六层网络协议的消息传递
- requests库通过get()获取网页内容
- 生信笔记 | 自定义GSEA分析中的gmt格式文件
- 凉爽的夏天=凉爽的心
- 反编译Unity3d 中的dll文件
热门文章
- 代理服务器列表 20100116
- java基于ssm的电影院订票选座系统
- 亚洲游戏行业遭遇史上最大DDoS攻击
- 资源分享:oracle 数据库软件下载(持续更新,有需要请留言!)
- Android初级教程实现电话录音
- canvas 水滴图、液体进度条、仿加速球、圆球水波图
- AutoCAD Map 3D 2013新功能视频中文版
- 如何把char类型的数字字符转换成int类型
- VGG(visual geometry group,超分辨率测试序列)
- Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or us