遮蔽某几个字

开发项目总结常用方法:

/**
* 交易密碼隱碼
* @param payPwd
* @return
*/
public static String hidePayPwdCode ( String payPwd) {
if (null == payPwd) return null;
return getStats(payPwd.length());
}

/**
* 登入密碼隱碼
* @param loginPwd
* @return
*/
public static String hideLoginPwdCode ( String loginPwd) {
if (null == loginPwd) return null;
return getStats(loginPwd.length());
}

/**
* 銀行賬號
* @param bankAccount
* @return
* @throws Exception
*/
public static String hideAccCode(String accCode) {
if(accCode==null)return "";
int len=accCode.trim().length();
if(len==0)return "";
String strRes=accCode.trim();
if(len>=6)
strRes=accCode.trim().substring(0, 6);
String strEnd="";
if(len>3)
strEnd=accCode.trim().substring(len-3);
strRes+=getStats(len-9)+strEnd;
return strRes;
}

/**
* 信用卡隱碼
* @param phone
* @return
*/
public static String hideCardCode ( String cardNumber ) {
if(cardNumber==null)return "";
int len=cardNumber.trim().length();
if(len==0)return "";
String strRes=cardNumber.trim();
if(len>=8)
strRes=cardNumber.trim().substring(0, 8);
String strEnd="";
if(len>4)
strEnd=cardNumber.trim().substring(len-4);
strRes+=getStats(len-12)+strEnd;
return strRes;
}

/**
* 身分證字號隱碼
* @param personId
* @return
*/
public static String hidePersonIdCode ( String personId) {
if(personId==null)return "";
int len=personId.trim().length();
if(len==0)return "";
String strRes=personId.trim();
if(len>=7)
strRes=personId.trim().substring(0, 7);
strRes+=getStats(len-7);
return strRes;
}

/**
* 姓名
* @param userName
* @return
* @throws Exception
*/
public static String hideUserName(String userName) {
if(userName==null)return "";
int len=userName.trim().length();
if(len==0)return "";
String strRes=userName.trim();
if(len>=1)
strRes=userName.trim().substring(0, 1);
strRes+=getStats(len-1);
return strRes;
}

/**
* 住址隱碼
* @param addrCode
* @return
*/
public static String hideAddressCode ( String address) {
if(address==null)return "";
int len=address.trim().length();
if(len==0)return "";
String strRes=address.trim();
if(len>=6)
strRes=address.trim().substring(0, 6);
strRes+=getStats(len-6);
return strRes;
}

/**
* 電子郵件地址
* @param userName
* @return
* @throws Exception
*/
public static String hideEmailAddress(String emailAddress) {
if(emailAddress==null)return "";
int len=emailAddress.trim().length();
if(len==0)return "";
String[] aryEmail=emailAddress.split("@");
String strRes="";
len=aryEmail[0].trim().length();
if(len>3)
strRes=aryEmail[0].trim().substring(0, len-3);
strRes+=getStats(3);
if(aryEmail.length>1)
strRes+="@"+aryEmail[1];
return strRes;
}

/**
* 電話號碼
* @param phoneNumber
* @return
* @throws Exception
*/
public static String hidePhoneCode ( String phoneNumber ) {
if(phoneNumber==null)return "";
int len=phoneNumber.trim().length();
if(len==0)return "";
String strRes=phoneNumber.trim();
if(len>=5)
strRes=phoneNumber.trim().substring(0, 5);
String strEnd="";
if(len>2)
strEnd=phoneNumber.trim().substring(len-2);
strRes+=getStats(len-7)+strEnd;
return strRes;
}
/**
* 生日
* @param userName
* @return
* @throws Exception
*/
public static String hideBirthday(Integer birthday) {
if(birthday==null)return "";
int len=birthday.toString().trim().length();
if(len==0)return "";
String strRes=birthday.toString().trim();
if(len>=6)
strRes=birthday.toString().trim().substring(0, 6);
strRes+=getStats(len-6);
return strRes;
}

private static String getStats(int len){
if(len<=0)return "";
String strRes="";
for(int i=0;i<len;i++)
strRes+="*";
return strRes;
}

时间: 2024-08-08 21:10:06

遮蔽某几个字的相关文章

励志文章800字左右

励志文章800字左右: 何为强者?强者便是能做到别人所不能做的事,强者便是能化困境为常态,化常态为机遇,强者便是能遇逆境泰然处之,临危不惧.人人都可以是强者,而我,只为强者点赞. 时光隧道中,由古自今,那些曾经的强者和现如今正在成为强者的人,一直散发着经久不息的芬芳,仿若一盏盏明灯,在夜深人静灯火俱灭之时为独行的人驱散黑暗,照清脚下的路. 强者之于酒中仙便是洒脱与一身傲骨.曾经的他也有济苍生,治家国的壮志凌云,无奈世俗险恶官场黑暗,腐败这双污秽的手遮蔽了世人的双眼却惟独使他清醒,安能催眉折腰事权

Android上显示生僻字、emoji的办法

理论上安卓是可以显示所有Unicode字符的,显示所有的汉字(目前Unicode里有8万多个东亚汉字).emoji当然也没问题.Unicode值在0xFFFF以下的汉字早已被广泛支持,所以本文不把它们看作生僻字.这里共有2万多个简体.繁体汉字.本文说的生僻字是指Unicode值在0xFFFF以上的汉字,emoji也在这个范围里.这个范围也叫non-BMP.可以看这篇文章了解汉字的大致分布. 主要有三个关键点: 1.确保字符集能覆盖生僻字.也就是在文件.数据库保存字符串时使用的字符集,应该是:GB

[解决]通常每个套接字地址只允许使用一次

我们在做socket的开发的时候,经常会遇到这个错误:通常每个套接字地址 (协议/网络地址/端口)只允许使用一次 错误指示很明确:通信端口被占用了,导致通信无法进行. 但为什么端口被占用了呢?什么端口被占用了? 这里其实有一个大前提:你的程序中有没有指定socket通信端口? 如果指定了,解决办法很简单,每次通信完成手动释放就行了.下次通信重新建立连接. 如果没有指定,说明以下几点(可能你命中的是其中一点): 1.你的服务器开启的端口数太少: 2.连接释放等待时间太长: 3.你的socket通信

Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字 . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录 (四) 一起学 Unix 环境高级编程 (APUE) 之 系统数据文件和信息 (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境 (六) 一起学 Unix 环境高级编程 (APU

[转] 如何把书上的字弄到电脑

研究生和上班族都学学吧,如何把书上的字弄到电脑!!!! 把书上的字快速弄到电脑上,我也会,哇哇...在工作中,我常常在想,要是能把纸上有用的文字快速输入到电脑中,不用打字录入便可以大大提高工作效率该有多好呀!随着科技的发展, 这个问题在不断的解决,例如,现在市场上的扫描仪就带有OCR软件,可以把扫描的文字转换到电脑中进行编辑.但是,对于我们平常人来说,大多数人都是即不想多花钱购买不常用的设备,又不想费力气打字录入,那我就给大家提供一个我刚刚发现的方法吧!现在数码相机很普遍,也很常用,我们就从这里

linux网络环境下socket套接字编程(UDP文件传输)

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux

linux网络编程-(socket套接字编程UDP传输)

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux

Java套接字编程实现群聊与私聊[原理版]

简介 运用Java套接字我们几乎可以完成一个网络聊天软件的小产品,本文不涉及UI部分,仅对原理部分用代码演示一下.一个可以多人聊天的小功能,在Linux系统上用telnet亲测可用. 服务器代码 package demo0811.demo3; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.

Linux 套接字(1)

套接字的特性由三个属性确定 :  域,  类型,   协议. 1.域 AF_UNIX  UNIX域协议 ( 文件系统套接字) AF_INET   ARPA因特网协议 (UNIX网络套接字) ...省略 2.类型 1)  流套接字:  SOCK_STREAM 2)  数据报套接字 :  SOCK_DGRAM 3. 协议 一般由套接字类型和套接字域来决定, 通常不需要选择. 将该参数设置为0表示使用默认协议. 套接字地址. 1)  AF_UNIX struct sockaddr_un { sa_fa