正则表达式实现对手机号,邮箱进行格式验证。
手机号中间打码:如139****8987,用户名打码:如 张**,地址打码:如 上海市浦东新区*****XX大厦A座7BC
/**
* 验证手机号格式
*
* @param number
* @return
*/
public static boolean isMobileNum(String number) {
String num = "[1][3578]\\d{9}";
if (TextUtils.isEmpty(number)) {
return false;
} else {
return number.matches(num);
}
}
/**
* 验证邮箱格式
*
* @param email
* @return
*/
public static boolean isValidEmail(String email) {
if ((email != null) && (!email.isEmpty())) {
return Pattern.matches("^(\\w+([-.][A-Za-z0-9]+)*){3,18}@\\w+([-.][A-Za-z0-9]+)*\\.\\w+([-.][A-Za-z0-9]+)*$", email);
}
return false;
}
/**
* 手机号(数字)中间四位打码
*
* @param str
* @return
*/
public String hideInfo(String str) {
return str.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
}
/**
* 除姓名第一位外均打码
*
* @param str
* @return
*/
public String replaceNameX(String str) {
String reg = ".{1}";
StringBuffer sb = new StringBuffer();
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(str);
int i = 0;
while (m.find()) {
i++;
if (i == 1)
continue;
m.appendReplacement(sb, "*");
}
m.appendTail(sb);
return sb.toString();
}
/**
* 汉字中间四位打码
*
* @param value
* @return
*/
private static final int SIZE = 4;
private static final String SYMBOL = "*";
public String display(String value) {
if (null == value || "".equals(value)) {
return value;
}
int len = value.length();
int pamaone = len / 2;
int pamatwo = pamaone - 1;
int pamathree = len % 2;
StringBuilder stringBuilder = new StringBuilder();
if (len <= 2) {
if (pamathree == 1) {
return SYMBOL;
}
stringBuilder.append(SYMBOL);
stringBuilder.append(value.charAt(len - 1));
} else {
if (pamatwo <= 0) {
stringBuilder.append(value.substring(0, 1));
stringBuilder.append(SYMBOL);
stringBuilder.append(value.substring(len - 1, len));
} else if (pamatwo >= SIZE / 2 && SIZE + 1 != len) {
int pamafive = (len - SIZE) / 2;
stringBuilder.append(value.substring(0, pamafive));
for (int i = 0; i < SIZE; i++) {
stringBuilder.append(SYMBOL);
}
if ((pamathree == 0 && SIZE / 2 == 0) || (pamathree != 0 && SIZE % 2 != 0)) {
stringBuilder.append(value.substring(len - pamafive, len));
} else {
stringBuilder.append(value.substring(len - (pamafive + 1), len));
}
} else {
int pamafour = len - 2;
stringBuilder.append(value.substring(0, 1));
for (int i = 0; i < pamafour; i++) {
stringBuilder.append(SYMBOL);
}
stringBuilder.append(value.substring(len - 1, len));
}
}
return stringBuilder.toString();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/115767.html