安卓电话号码实现中间4位变成*号

public class StringReplaceUtil {

/**

    * 根据用户名的不同长度,来进行替换 ,达到保密效果

    *

    * @param userName 用户名

    * @return 替换后的用户名

    */

    public static String userNameReplaceWithStar(String userName) {

String userNameAfterReplaced ="";

if (userName ==null){

userName ="";

}

int nameLength = userName.length();

if (nameLength <=1) {

userNameAfterReplaced ="*";

}else if (nameLength ==2) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{0})\\d(?=\\d{1})");

}else if (nameLength >=3 && nameLength <=6) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{1})\\d(?=\\d{1})");

}else if (nameLength ==7) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{1})\\d(?=\\d{2})");

}else if (nameLength ==8) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{2})\\d(?=\\d{2})");

}else if (nameLength ==9) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{2})\\d(?=\\d{3})");

}else if (nameLength ==10) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{3})\\d(?=\\d{3})");

}else if (nameLength >=11) {

userNameAfterReplaced =replaceAction(userName,"(?<=\\d{3})\\d(?=\\d{4})");

}

return userNameAfterReplaced;

}

/**

    * 实际替换动作

    *

    * @param username username

    * @param regular  正则

    * @return  * 替换成自己想要的数字

    */

    private static String replaceAction(String username, String regular) {

return username.replaceAll(regular,"*");//这里的*号可以替换成自己想要的符号

}

/**

    * 身份证号替换,保留前四位和后四位

    *

    * 如果身份证号为空 或者 null ,返回null ;否则,返回替换后的字符串;

    *

    * @param idCard 身份证号

    * @return

    */

    public static String idCardReplaceWithStar(String idCard) {

if (idCard.isEmpty() || idCard ==null) {

return null;

}else {

return replaceAction(idCard,"(?<=\\d{4})\\d(?=\\d{4})");

}

}

/**

    * 银行卡替换,保留后四位

    *

    * 如果银行卡号为空 或者 null ,返回null ;否则,返回替换后的字符串;

    *

    * @param bankCard 银行卡号

    * @return

    */

    public static String bankCardReplaceWithStar(String bankCard) {

if (bankCard.isEmpty() || bankCard ==null) {

return null;

}else {

return replaceAction(bankCard,"(?<=\\d{0})\\d(?=\\d{4})");

}

}

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


使用:

// 修改电话号码 将中间四位改成*号

TextView phone = (TextView) bindViewById(R.id.pay_now_phone);

String str="13595616253";

String s = StringReplaceUtil.userNameReplaceWithStar(str);

phone.setText(s);

效果:


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

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,045评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 1、日志工具类L.java ``` package com.zhy.utils; import android.u...
    蛊惑007阅读 1,021评论 1 1
  • 2018年的春节假期是我工作以来最长的一个,但过的并不上进,主要在吃饭,睡觉,带娃,游戏中度过。但还是有一些思考...
    鄙人姓贺阅读 150评论 0 0