import java.util.regex.Pattern;
/**
* @Description: 国内外手机号码正则
* @Author:
* @Create Date: 2023年05月18日
*/
public final class GlobalPhoneRegConstant {
public static final Pattern P_ZH_CN = Pattern.compile("^(\\+?0?86\\_?)?1[345789]\\d{9}$");
public static final Pattern P_EN_HK = Pattern.compile("^(\\+?0?852\\_?)([6|9])\\d{7}$");
public static final Pattern P_ZH_TW = Pattern.compile("^(\\+?886\\_?|0)?9\\d{8}$");
public static final Pattern P_AR_DZ = Pattern.compile("^(\\+?213|0)(5|6|7)\\d{8}$");
public static final Pattern P_AR_SY = Pattern.compile("^(!?(\\+?963)|0)?9\\d{8}$");
public static final Pattern P_AR_SA = Pattern.compile("^(!?(\\+?966)|0)?5\\d{8}$");
public static final Pattern P_EN_US = Pattern.compile("^(\\+?1)?[2_9]\\d{2}[2_9](?!11)\\d{6}$");
public static final Pattern P_CS_CZ = Pattern.compile("^(\\+?420)? ?[1_9][0_9]{2} ?[0_9]{3} ?[0_9]{3}$");
public static final Pattern P_DE_DE = Pattern.compile("^(\\+?49[ \\.\\_])?([\\(]{1}[0_9]{1,6}[\\)])?([0_9 \\.\\_\\/]{3,20})((x|ext|extension)[ ]?[0_9]{1,4})?$");
public static final Pattern P_DA_DK = Pattern.compile("^(\\+?45)?(\\d{8})$");
public static final Pattern P_EL_GR = Pattern.compile("^(\\+?30)?(69\\d{8})$");
public static final Pattern P_EN_AU = Pattern.compile("^(\\+?61|0)4\\d{8}$");
public static final Pattern P_EN_GB = Pattern.compile("^(\\+?44|0)7\\d{9}$");
public static final Pattern P_EN_HK2 = Pattern.compile("^(\\+?852\\_?)?[569]\\d{3}\\_?\\d{4}$");
public static final Pattern P_EN_IN = Pattern.compile("^(\\+?91|0)?[789]\\d{9}$");
public static final Pattern P_EN_NZ = Pattern.compile("^(\\+?64|0)2\\d{7,9}$");
public static final Pattern P_EN_ZA = Pattern.compile("^(\\+?27|0)\\d{9}$");
public static final Pattern P_EN_ZM = Pattern.compile("^(\\+?26)?09[567]\\d{7}$");
public static final Pattern P_ES_ES = Pattern.compile("^(\\+?34)?(6\\d{1}|7[1234])\\d{7}$");
public static final Pattern P_FI_FI = Pattern.compile("^(\\+?358|0)\\s?(4(0|1|2|4|5)?|50)\\s?(\\d\\s?){4,8}\\d$");
public static final Pattern P_FR_FR = Pattern.compile("^(\\+?33|0)[67]\\d{8}$");
public static final Pattern P_HE_IL = Pattern.compile("^(\\+972|0)([23489]|5[0248]|77)[1_9]\\d{6}");
public static final Pattern P_HU_HU = Pattern.compile("^(\\+?36)(20|30|70)\\d{7}$");
public static final Pattern P_IT_IT = Pattern.compile("^(\\+?39)?\\s?3\\d{2} ?\\d{6,7}$");
public static final Pattern P_JA_JP = Pattern.compile("^(\\+?81|0)\\d{1,4}[ \\_]?\\d{1,4}[ \\_]?\\d{4}$");
public static final Pattern P_MS_MY = Pattern.compile("^(\\+?6?01){1}(([145]{1}(\\_|\\s)?\\d{7,8})|([236789]{1}(\\s|\\_)?\\d{7}))$");
public static final Pattern P_NB_NO = Pattern.compile("^(\\+?47)?[49]\\d{7}$");
public static final Pattern P_NL_BE = Pattern.compile("^(\\+?32|0)4?\\d{8}$");
public static final Pattern P_NN_NO = Pattern.compile("^(\\+?47)?[49]\\d{7}$");
public static final Pattern P_PL_PL = Pattern.compile("^(\\+?48)? ?[5_8]\\d ?\\d{3} ?\\d{2} ?\\d{2}$");
public static final Pattern P_PT_BR = Pattern.compile("^(\\+?55|0)\\_?[1_9]{2}\\_?[2_9]{1}\\d{3,4}\\_?\\d{4}$");
public static final Pattern P_PT_PT = Pattern.compile("^(\\+?351)?9[1236]\\d{7}$");
public static final Pattern P_RU_RU = Pattern.compile("^(\\+?7|8)?9\\d{9}$");
public static final Pattern P_SR_RS = Pattern.compile("^(\\+3816|06)[_ \\d]{5,9}$");
public static final Pattern P_TR_TR = Pattern.compile("^(\\+?90|0)?5\\d{9}$");
public static final Pattern P_VI_VN = Pattern.compile("^(\\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$");
public static boolean isLegal(String phone) {
return P_ZH_CN.matcher(phone).matches() ||
P_EN_HK.matcher(phone).matches() ||
P_ZH_TW.matcher(phone).matches() ||
P_AR_DZ.matcher(phone).matches() ||
P_AR_SY.matcher(phone).matches() ||
P_AR_SA.matcher(phone).matches() ||
P_EN_US.matcher(phone).matches() ||
P_CS_CZ.matcher(phone).matches() ||
P_DE_DE.matcher(phone).matches() ||
P_DA_DK.matcher(phone).matches() ||
P_EL_GR.matcher(phone).matches() ||
P_EN_AU.matcher(phone).matches() ||
P_EN_GB.matcher(phone).matches() ||
P_EN_HK2.matcher(phone).matches() ||
P_EN_IN.matcher(phone).matches() ||
P_EN_NZ.matcher(phone).matches() ||
P_EN_ZA.matcher(phone).matches() ||
P_EN_ZM.matcher(phone).matches() ||
P_ES_ES.matcher(phone).matches() ||
P_FI_FI.matcher(phone).matches() ||
P_FR_FR.matcher(phone).matches() ||
P_HE_IL.matcher(phone).matches() ||
P_HU_HU.matcher(phone).matches() ||
P_IT_IT.matcher(phone).matches() ||
P_JA_JP.matcher(phone).matches() ||
P_MS_MY.matcher(phone).matches() ||
P_NB_NO.matcher(phone).matches() ||
P_NL_BE.matcher(phone).matches() ||
P_NN_NO.matcher(phone).matches() ||
P_PL_PL.matcher(phone).matches() ||
P_PT_BR.matcher(phone).matches() ||
P_PT_PT.matcher(phone).matches() ||
P_RU_RU.matcher(phone).matches() ||
P_SR_RS.matcher(phone).matches() ||
P_TR_TR.matcher(phone).matches() ||
P_VI_VN.matcher(phone).matches();
}
}
国内外手机号码正则
最新推荐文章于 2024-07-30 20:50:32 发布