package com.ruoyi.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PhoneUtils {
    /**
     * 判断是不是合法的手机号码
     * @param phoneNumber
     * @return
     */
    public static boolean isPhoneNumber(String phoneNumber){
        if(StringUtils.isEmpty(phoneNumber)){
            return false;
        }
        //第一位是不是0
        String phoneOne=phoneNumber.substring(0,1);
        //是不是 +86形式
        int is86=phoneNumber.indexOf("+86");
        if(is86==0){
            phoneNumber = phoneNumber.substring(3,phoneNumber.length());
        }
        //手机号码长度
        int phoneLength=phoneNumber.length();
        //是纯数字 并且长度等于11 并且第一位不是0 并且 不包含+86
        return isNumeric(phoneNumber)&&phoneLength==11&&!phoneOne.equals("0");
    }
    /**
     * 判断字符串是不是纯数字
     */
    public static boolean isNumeric(String str){
        Pattern pattern = Pattern.compile("[0-9]*");
        Matcher isNum = pattern.matcher(str);
        if( !isNum.matches() ){
            return false;
        }
        return true;
    }

    public static void main(String[] args) {
        System.out.println(new PhoneUtils().isPhoneNumber("18500040805"));
    }
}
