JAVA工具類--手機號生成與正則校驗



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;

    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM