欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java 固定电话_Java 编写过滤手机号码或者固定电话的工具类

发布时间:2024/1/1 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 编写过滤手机号码或者固定电话的工具类的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。