在实际开发中我们需要对手机号格式校验,以下是对中国手机号校验的实现。

public class PhoneUtils {

	/**
* 中国手机号码
*/
private static Pattern CHINESE_PHONE_PATTERN = Pattern.compile("((13|15|17|18)\\d{9})|(14[57]\\d{8})"); /**
* 是否是有效的中国手机号码
* @param phone
* @return
*/
public static boolean isValidChinesePhone(String phone) {
if (phone == null || phone.length() != 11) {
return false;
} Matcher matcher = CHINESE_PHONE_PATTERN.matcher(phone);
return matcher.matches();
} /**
* 检查手机是否无效
* @param phone
* @return
*/
public static boolean isNotValidChinesePhone(String phone) {
return !isValidChinesePhone(phone);
} /**
* 手机中间添加星号
* @param phone
* @param beginIndex
* @param endIndex
* @return empty string if phone length is illegal
*/
public static String setAsterisk(String phone, int beginIndex, int endIndex) { if (StringUtils.isBlank(phone)) {
return StringUtils.EMPTY;
} if (beginIndex < 0 || endIndex < 0 || beginIndex > phone.length() || endIndex > phone.length()) {
throw new IllegalArgumentException("illegal index " + beginIndex + "," + endIndex);
} StringBuilder phoneWithAsterisk = new StringBuilder(phone.substring(0, beginIndex)); for (int i = beginIndex; i < endIndex; i++) {
phoneWithAsterisk.append("*");
} phoneWithAsterisk.append(phone.substring(endIndex, phone.length()));
return phoneWithAsterisk.toString();
} /**
* 手机中间添加星号
* @param phone
* @return
*/
public static String setAsterisk(String phone) {
return setAsterisk(phone, 3, 7);
} /**
* 手机中间添加星号,中间六位
* @param phone
* @return
*/
public static String setAsterisk2(String phone) {
return setAsterisk(phone, 3, 9);
}
}

最新文章

  1. ✡ leetcode 171. Excel Sheet Column Number 字母转换为数字 --------- java
  2. 【IOS笔记】Windows
  3. Java基础之处理事件——实现低级事件监听器(Sketcher 2 implementing a low-level listener)
  4. Codeforces Round #382 (Div. 2) C. Tennis Championship 斐波那契
  5. eclipse修改工程名
  6. 【Java安装】Centos6.8 安装Java1.6
  7. 通用安全字符串输入,彻底替换server.htmlencode
  8. 重拾javascript动态客户端网页脚本
  9. mysql的数据类型与列属性
  10. photosho 等距复制或旋转复制
  11. poj2594最小顶点覆盖+传递闭包
  12. idea 转载
  13. 关于overflow-x: hidden隐藏滚动条失效的解决方案
  14. MySql cmd下的学习笔记 —— 有关表的操作(对表的增删改查)
  15. Tex_Err:缺失wlscirep.cls
  16. javascript性能优化之避免重复工作
  17. 在ASP.NET MVC中使用Knockout实践08,使用foreach绑定集合
  18. iOS中大文件下载(单线程下载)
  19. SAP FI 财务模块 关键用户 考试练习 问卷
  20. VIM 使用心得

热门文章

  1. 最小生成树模板题-----P3366 【模板】最小生成树
  2. 11.源码分析---SOFARPC数据透传是实现的?
  3. idea实现第一个springboot程序
  4. MySQL数据库的安装和配置
  5. Java内部类的基本解析
  6. 打包一沓开源的 C/C++ 包管理工具送给你!
  7. 漏洞挖掘技巧之利用javascript:
  8. cucumber测试框架
  9. Leetcode之回溯法专题-37. 解数独(Sudoku Solver)
  10. Oracle - View