package utils;
import java.util.Random;
import java.util.regex.Pattern;
/**
* Created with IntelliJ IDEA.
* Description:
* 手機號正則: ^1[34578][0-9]{9}
* 生成手機號工具類
*
* @author
* Date: 2017-11-09
* Time: 10:24
*/
public class PhoneNoGeneratorUtil {
private static String firstNum = "1";
private static String[] secondNumArray = {"3", "4", "5", "7", "8"};
/**
* 調用一次生成一個手機號,手機號后9位數字通過循環生成
*/
public String getPhoneNo() {
StringBuffer sb = new StringBuffer();
Random random = new Random();
String secondNum = secondNumArray[random.nextInt(secondNumArray.length)];
sb.append(firstNum);
sb.append(secondNum);
for (int i = 0; i < 9; i++) {
Integer thirdNum = random.nextInt(10);
sb.append(thirdNum.toString());
}
return sb.toString();
}
/**
* 當需要生成較大量的手機號時調用該方法
* 后9位數字隨機生成,長度不足時則補0
*/
public String getMultiPhoneNo() {
StringBuffer sb = new StringBuffer();
Random random = new Random();
String secondNum = secondNumArray[random.nextInt(secondNumArray.length)];
sb.append(firstNum);
sb.append(secondNum);
Integer thirdNum = 1 + random.nextInt(999999999);
if (thirdNum.toString().length() <= 9) {
sb.append(thirdNum);
for (int i = 1; i <= 9 - thirdNum.toString().length(); i++) {
sb.append(0);
}
} else {
sb.append(thirdNum.toString());
}
return sb.toString();
}
/**
* 手機號校驗
*/
public boolean checkPhoneNo(String phoneNum) {
// 定義手機號的規則
String phoneNumPattern = "^1[34578][0-9]{9}";
// 比對phoneNum是否符合定義的規則
boolean result = Pattern.matches(phoneNumPattern, phoneNum);
return result;
}
}