1. package utils;
    2. import java.util.Random;
    3. import java.util.regex.Pattern;
    4. /**
    5. * Created with IntelliJ IDEA.
    6. * Description:
    7. * 手机号正则: ^1[3456789][0-9]{9}
    8. * 生成手机号工具类
    9. *
    10. * @author
    11. * Date: 2017-11-09
    12. * Time: 10:24
    13. */
    14. public class PhoneNoGeneratorUtil {
    15. private static String firstNum = "1";
    16. private static String[] secondNumArray = {"3", "4", "5", "6", "7", "8", "9"};
    17. /**
    18. * 调用一次生成一个手机号,手机号后9位数字通过循环生成
    19. */
    20. public String getPhoneNo() {
    21. StringBuffer sb = new StringBuffer();
    22. Random random = new Random();
    23. String secondNum = secondNumArray[random.nextInt(secondNumArray.length)];
    24. sb.append(firstNum);
    25. sb.append(secondNum);
    26. for (int i = 0; i < 9; i++) {
    27. Integer thirdNum = random.nextInt(10);
    28. sb.append(thirdNum.toString());
    29. }
    30. return sb.toString();
    31. }
    32. /**
    33. * 当需要生成较大量的手机号时调用该方法
    34. * 9位数字随机生成,长度不足时则补0
    35. */
    36. public String getMultiPhoneNo() {
    37. StringBuffer sb = new StringBuffer();
    38. Random random = new Random();
    39. String secondNum = secondNumArray[random.nextInt(secondNumArray.length)];
    40. sb.append(firstNum);
    41. sb.append(secondNum);
    42. Integer thirdNum = 1 + random.nextInt(999999999);
    43. if (thirdNum.toString().length() <= 9) {
    44. sb.append(thirdNum);
    45. for (int i = 1; i <= 9 - thirdNum.toString().length(); i++) {
    46. sb.append(0);
    47. }
    48. } else {
    49. sb.append(thirdNum.toString());
    50. }
    51. return sb.toString();
    52. }
    53. /**
    54. * 手机号校验
    55. */
    56. public boolean checkPhoneNo(String phoneNum) {
    57. // 定义手机号的规则
    58. String phoneNumPattern = "^1[3456789][0-9]{9}";
    59. // 比对phoneNum是否符合定义的规则
    60. boolean result = Pattern.matches(phoneNumPattern, phoneNum);
    61. return result;
    62. }
    63. }