1,需求

       

    * 名称格式化,名称隐藏 <s:property
    * value="@com.ecp.common.helper.StringUtil@formatStr(name)"/>
    *
    * @param name
    * @param myname
    * 没有传null
    * @return 若:中文名称 (name为空:*** name为一位:name+*** name为两位或者以下:张***
    * name为两位以上:张***三 )
    *
    * 若:英文名称 (name为空:*** name为一位:name+***
    * name为四位或者以下:长度减一+***+最后一位 name为四位以上:前四位+***+最后一位 )
    */

    2,代码

    public static String formatStr(String name, String myname) {
    
    		if (StringUtils.isBlank(name)) {
    			return "***";
    		}
    		if (name.equals(myname)) {
    			return name;
    		}
    		if (name.length() < 2) {
    			return name + "***";
    		}
    		String lastname  = name.substring(name.length()-1);
    		String regEx = "[\u4e00-\u9fa5]";
    		Matcher matcher = Pattern.compile(regEx).matcher(name);
    		if (matcher.find())
    			name = name.length() <= 2 ? name.substring(0, name.length() - 1)
    					: name.substring(0, 2);
    		else
    			name = name.length() <= 4 ? name.substring(0, name.length() - 1)
    					: name.substring(0, 4);
    		return name + "***"+lastname;
    	}
    联系QQ:343886028 --加QQ群 145315854