sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Java-----隐藏手机号 身份证号 中间四位

phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
152****4799

idCard.replaceAll("(\\d{4})\\d{10}(\\w{4})","$1*****$2");
4304*****7733

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

-------字符串截取方式----------------------------------------------------------------------------------------------

               String realname =  "程序员";
               String mobile = "15888888888";    
               String realname1 =null;
               char[] r =  realname.toCharArray(); 
               char[] m =  mobile.toCharArray();
                 if(r.length ==1){
                      realname1 =  realname;
                  }
                  if(r.length == 2){
                      realname1 =  realname.replaceFirst(realname.substring(1),"*");
                  }
                  if (r.length > 2) {
                      realname1 =  realname.replaceFirst(realname.substring(1,r.length-1) ,"*");
                  }
                  for(int i=0; i<m.length;i++){
                      if(i>2 && i<7){
                          m[i] = '*';
                      }
                  }
                  String mobile1 =  String.valueOf(m);
                  System.out.println(realname1);//程*员
                  System.out.println(mobile1);//158****8888
posted on 2022-03-07 22:16  sunny123456  阅读(920)  评论(0编辑  收藏  举报