java 固定电话_Java 编写过滤手机号码或者固定电话的工具类
以下是分享自己编写的用于过滤手机号码、固定电话、黑名单的工具类TelCheckUtils,
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;
public class TelCheckUtils {
public static final Set UNNEEDTEL = new HashSet<>();
static {
//写在配置文件中
String repaetContacts = FundamentalConfigProvider.getString("repeatContacts.phone.unneededTels");
String[] contacts = repaetContacts.split(",");
for (String contact : contacts){
UNNEEDTEL.add(contact);
}
}
/**
* 验证手机号码(支持国际格式,+86135xxxx...(中国内地),+00852137xxxx...(中国香港))
* @param mobile 移动、联通、电信运营商的号码段
*
移动的号段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡)
*、150、151、152、157(TD专用)、158、159、187(未启用)、188(TD专用)
*
联通的号段:130、131、132、155、156(世界风专用)、185(未启用)、186(3g)
*
电信的号段:133、153、180(未启用)、189
* @return 验证成功返回true,验证失败返回false
*/
public static boolean checkMobile(String mobile) {
String regex = "(\\+\\d+)?1[3458]\\d{9}$";
return Pattern.matches(regex,mobile);
}
/**
* 验证不必要的号码
* @param mobile
* @return
*/
public static boolean checkUnNeedTel(String mobile) {
return UNNEEDTEL.contains(mobile)||mobile.startsWith("400");
}
/**
* 验证固定电话号码
* @param phone 电话号码,格式:国家(地区)电话代码 + 区号(城市代码) + 电话号码,如:+8602085588447
*
国家(地区) 代码 :标识电话号码的国家(地区)的标准国家(地区)代码。它包含从 0 到 9 的一位或多位数字,
* 数字之后是空格分隔的国家(地区)代码。
*
区号(城市代码):这可能包含一个或多个从 0 到 9 的数字,地区或城市代码放在圆括号——
* 对不使用地区或城市代码的国家(地区),则省略该组件。
*
电话号码:这包含从 0 到 9 的一个或多个数字
* @return 验证成功返回true,验证失败返回false
*/
public static boolean checkPhone(String phone) {
String regex = "(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";
return Pattern.matches(regex, phone);
}
/**
* 包括固话和手机号
* @param str
* @return 验证通过返回true
*/
public static boolean isTelNumber(String str) {
return checkMobile(str)&&!checkUnNeedTel(str);
}
}
其他的还可以看:
http://blog.csdn.net/afei__/article/details/51482801
java 固定电话_Java 编写过滤手机号码或者固定电话的工具类相关推荐
- java在线支付---04_编写易宝支付的客户端加密工具类
2013/5/30 04_编写易宝支付的客户端加密工具类 创梦综合技术qq交流群:CreDream:251572072 ---------------------------------------- ...
- Java中Date类型如何向前向后滚动时间,( 附工具类)
Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: 1 import java.text.SimpleDateFormat; 2 import java.util.Cale ...
- Java利用反射封装DBUtil,mysql万能增删改查工具类,附源码
Java利用反射封装DBUtil,mysql万能增删改查工具类,附源码 等有时间再慢慢写代码注释吧,先把源码放出来.文章最后有整个项目的压缩包. ps:拓展 Java 原生MySQL JDBC 插入后 ...
- java号段_Java匹配国内手机号码段
目前(2016-12-7)三大运营商最新号段以下 移动号段: 134 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 1 ...
- java制造病毒_java编写病毒的可行性分析
java编写病毒的可行性分析 最近心情十分郁闷,查阅一些病毒的资料消遣一下,居然发现这样的论调讲 java语言不可能编写病毒,在此特地反驳一下. 1 可执行 论调1:java需要依赖jre,无法在无j ...
- java常用工具类_java(二):工作中常用到的工具类
工作中大家要用到很多工具类,第三方的jar中有很多现成的工具类符合自己的项目需要,这个时候就不需要去重复造轮子了,从而节省了很多时间,大家可以利用这些时间去做其它重要的事情,如果没有符合自己的工具类, ...
- java url类下载_Java根据url下载图片或文件的工具类-Fun言
package cn.funyan.utils; import java.io.FileOutputStream; import java.io.IOException; import java.io ...
- java 数字翻译成英文_Java实现数字日期翻译成英文单词的工具类案例分享
这篇文章主要介绍了Java实现将数字日期翻译成英文单词的工具类,结合完整实例形式分析了Java日期转换与字符串操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了Java实现将数字日期翻译成英文单词 ...
- java spring文件下载_SpringMVC实现文件上传和下载的工具类
本文主要目的是记录自己基于SpringMVC实现的文件上传和下载的工具类的编写,代码经过测试可以直接运行在以后的项目中. 开发的主要思路是对上传和下载文件进行抽象,把上传和下载的核心功能抽取出来分装成 ...
最新文章
- C#从数据库导出数据[excel]
- Ubuntu8.10下修复FC7系统的home分区
- Latex: 设置 threeparttable footnote 行宽度
- 字符串数组中查找字符串
- 通过服务器端日志分析WebSocket的server和client交互
- java break递归_【Java】递归总结
- 半夜,滴滴司机问我会LRU吗?
- 如何在windows下成功的编译和安装python组件hyperscan
- android 结束if循环_几款Android反编译器对循环结构的还原能力测试记录
- 2018软工第六次作业
- 如何优雅地抄袭代码?天下代码一大抄,这才是正确的姿势
- 传统语音识别GMM和HMM
- 数据结构(主席树):HZOI 2016 采花
- 了解并使用Xposed 框架神器
- 计算机钢琴键盘,Everyone Piano
- phpstudy的基本使用方法
- 怎样配置更完美的图形工作站
- iap如何初始化_STM32F4-IAP学习笔记(一)
- MIP启发式算法:local branching
- 迅雷9去右侧浏览器补丁