手机号正则获取及隐藏

一、运用正则来验证手机号

public static void main(String[] args) {

String phone = "13123456789";

String phoneNumber = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");

System.out.println("正则phone中4*:" + phoneNumber);

}

效果为:

二、正则验证身份证号

public static void main(String[] args) {

String idCard = "123456789987654321";

//$1、$2、……表示正则表达式里面第一个、第二个、……括号里面的匹配内容

String idCardNumber = idCard.replaceAll("(\\d{4})\\d{10}(\\w{4})","$1****$2");

System.out.println("身份证号长度:"+idCard.length());

System.out.println("正则idCard中4*:" + idCardNumber);

}

效果为:

3、获取文本中的手机号

public static void main(String[] args) {

String text = "13522158842;托尔斯泰;test2;13000002222;8613111113313";

Pattern pattern = Pattern.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)");

Matcher matcher = pattern.matcher(text);

StringBuffer bf = new StringBuffer(64);

while (matcher.find()) {

bf.append(matcher.group()).append(",");

}

int len = bf.length();

if (len > 0) {

bf.deleteCharAt(len - 1);

}

System.out.println(bf.toString());

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,817评论 18 399
  • 多态 任何域的访问操作都将有编译器解析,如果某个方法是静态的,它的行为就不具有多态性 java默认对象的销毁顺序与...
    yueyue_projects阅读 996评论 0 1
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 1,443评论 0 6
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,176评论 0 41
  • 与极简主义的结缘,是在我读书的时候,由于种种原因,当时陷在了自我困阱之中,别人的如何的开解与陪伴,都无法走出...
    kiddingleilei阅读 308评论 0 0