摘要:目前的號(hào)碼段更新代碼座機(jī)電話格式驗(yàn)證中國(guó)電信號(hào)碼格式驗(yàn)證手機(jī)段中國(guó)聯(lián)通號(hào)碼格式驗(yàn)證手機(jī)段簡(jiǎn)單手機(jī)號(hào)碼校驗(yàn),校驗(yàn)手機(jī)號(hào)碼的長(zhǎng)度和開頭中國(guó)移動(dòng)號(hào)碼格式驗(yàn)證手機(jī)段僅手機(jī)號(hào)格式校驗(yàn)手機(jī)和座機(jī)號(hào)格式校驗(yàn)匹配多個(gè)號(hào)碼以或空格隔開的格
目前的號(hào)碼段(2017-06-01更新)
java代碼
package com.linbilin.test; import java.util.regex.Pattern; public class CheckPhone { /** 座機(jī)電話格式驗(yàn)證 **/ private static final String PHONE_CALL_PATTERN = "^(?:(d{3,4})|d{3,4}-)?d{7,8}(?:-d{1,4})?$"; /** * 中國(guó)電信號(hào)碼格式驗(yàn)證 手機(jī)段: 133,153,180,181,189,177,1700,173 * **/ private static final String CHINA_TELECOM_PATTERN = "(?:^(?:+86)?1(?:33|53|7[37]|8[019])d{8}$)|(?:^(?:+86)?1700d{7}$)"; /** * 中國(guó)聯(lián)通號(hào)碼格式驗(yàn)證 手機(jī)段:130,131,132,155,156,185,186,145,176,1707,1708,1709,175 * **/ private static final String CHINA_UNICOM_PATTERN = "(?:^(?:+86)?1(?:3[0-2]|4[5]|5[56]|7[56]|8[56])d{8}$)|(?:^(?:+86)?170[7-9]d{7}$)"; /** * 簡(jiǎn)單手機(jī)號(hào)碼校驗(yàn),校驗(yàn)手機(jī)號(hào)碼的長(zhǎng)度和1開頭 */ private static final String SIMPLE_PHONE_CHECK = "^(?:+86)?1d{10}$"; /** * 中國(guó)移動(dòng)號(hào)碼格式驗(yàn)證 * 手機(jī)段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184 * ,187,188,147,178,1705 * **/ private static final String CHINA_MOBILE_PATTERN = "(?:^(?:+86)?1(?:3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])d{8}$)|(?:^(?:+86)?1705d{7}$)"; /** * 僅手機(jī)號(hào)格式校驗(yàn) */ private static final String PHONE_PATTERN = new StringBuilder(300) .append(CHINA_MOBILE_PATTERN).append("|") .append(CHINA_TELECOM_PATTERN).append("|") .append(CHINA_UNICOM_PATTERN).toString(); /** * 手機(jī)和座機(jī)號(hào)格式校驗(yàn) */ private static final String PHONE_TEL_PATTERN = new StringBuilder(350) .append(PHONE_PATTERN).append("|").append("(") .append(PHONE_CALL_PATTERN).append(")").toString(); /** * 匹配多個(gè)號(hào)碼以,、或空格隔開的格式,如 17750581369 * 13306061248、(596)3370653,17750581369,13306061248 (0596)3370653 * @param input * @param separator 可以自己指定分隔符,如"、, "表示可以以頓號(hào)、逗號(hào)和空格分隔 * @return */ public static boolean checkMultiPhone(String input, String separator) { separator = escapeMetacharacterOfStr(separator); String regex = "^(?!.+[" + separator + "]$)(?:(?:(?:(?:(d{3,4})|d{3,4}-)?d{7,8}(?:-d{1,4})?)|(?:1d{10}))(?:[" + separator + "]|$))+$"; return match(regex, input); } /** * 轉(zhuǎn)義字符串中的[]-^元字符 * * @param input * @param separator * @return */ private static String escapeMetacharacterOfStr(String input) { String regex = "[-^[]]"; return input.replaceAll(regex, "$0"); } /** * 僅手機(jī)號(hào)碼校驗(yàn) * * @param input * @return */ public static boolean isPhone(String input) { return match(PHONE_PATTERN, input); } /** * 手機(jī)號(hào)或座機(jī)號(hào)校驗(yàn) * * @param input * @return */ public static boolean isPhoneOrTel(String input) { System.out.println(PHONE_TEL_PATTERN); return match(PHONE_TEL_PATTERN, input); } /** * 驗(yàn)證電話號(hào)碼的格式 * * @author LinBilin * @param str * 校驗(yàn)電話字符串 * @return 返回true,否則為false */ public static boolean isPhoneCallNum(String str) { return match(PHONE_CALL_PATTERN, str); } /** * 驗(yàn)證【電信】手機(jī)號(hào)碼的格式 * * @author LinBilin * @param str * 校驗(yàn)手機(jī)字符串 * @return 返回true,否則為false */ public static boolean isChinaTelecomPhoneNum(String str) { return match(CHINA_TELECOM_PATTERN, str); } /** * 驗(yàn)證【聯(lián)通】手機(jī)號(hào)碼的格式 * * @author LinBilin * @param str * 校驗(yàn)手機(jī)字符串 * @return 返回true,否則為false */ public static boolean isChinaUnicomPhoneNum(String str) { return match(CHINA_UNICOM_PATTERN, str); } /** * 驗(yàn)證【移動(dòng)】手機(jī)號(hào)碼的格式 * * @author LinBilin * @param str * 校驗(yàn)手機(jī)字符串 * @return 返回true,否則為false */ public static boolean isChinaMobilePhoneNum(String str) { return match(CHINA_MOBILE_PATTERN, str); } /** * 簡(jiǎn)單手機(jī)號(hào)碼校驗(yàn),校驗(yàn)手機(jī)號(hào)碼的長(zhǎng)度和1開頭 * * @param str * @return */ public static boolean isPhoneSimple(String str) { return match(SIMPLE_PHONE_CHECK, str); } /** * 匹配函數(shù) * * @param regex * @param input * @return */ private static boolean match(String regex, String input) { return Pattern.matches(regex, input); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67558.html
摘要:由于新增了,等新號(hào)段,最新移動(dòng),電信,聯(lián)通號(hào)段如下移動(dòng)號(hào)段聯(lián)通號(hào)段電信號(hào)段手機(jī)號(hào)碼驗(yàn)證號(hào)碼驗(yàn)證沒有特別嚴(yán)謹(jǐn)驗(yàn)證規(guī)則移動(dòng)號(hào)碼驗(yàn)證驗(yàn)證規(guī)則聯(lián)通號(hào)碼驗(yàn)證驗(yàn)證規(guī)則電信號(hào)碼驗(yàn)證驗(yàn)證規(guī)則原諒不會(huì)命名,如果寫法或者號(hào)段有問題,希望大家告訴我,我馬上 由于新增了166,199,198等新號(hào)段,最新移動(dòng),電信,聯(lián)通號(hào)段如下:移動(dòng)號(hào)段:134 135 136 137 138 139 144 147 148...
摘要:三網(wǎng)短信是指中國(guó)移動(dòng),中國(guó)聯(lián)通,中國(guó)電信號(hào)碼。三網(wǎng)短信是現(xiàn)階段應(yīng)用廣泛的合法群發(fā)消息,短信渠道之一。根據(jù)三網(wǎng)融合短信渠道發(fā)布的驗(yàn)證碼短信,中國(guó)移動(dòng),中國(guó)聯(lián)通或,中國(guó)電信用戶收到的手機(jī)短信特殊服務(wù)號(hào)碼都是一樣的,其特點(diǎn)是以開頭。三網(wǎng)106短信是指中國(guó)移動(dòng),中國(guó)聯(lián)通,中國(guó)電信號(hào)碼。收到的短信顯示的是同一個(gè)手機(jī)號(hào)碼或者106號(hào)碼短信,2106號(hào)碼只屬于三網(wǎng)融合的一個(gè)相對(duì)合法的短信通道。其中我們比較...
摘要:手機(jī)號(hào)碼歸屬地?cái)?shù)據(jù)庫項(xiàng)目地址安裝使用查詢數(shù)據(jù)庫中手機(jī)號(hào)段總條數(shù)查詢北京市聯(lián)通手機(jī)號(hào)段總條數(shù)查詢指定手機(jī)號(hào)段歸屬地信息聯(lián)通北京北京數(shù)據(jù)表結(jié)構(gòu)表表表字段卡類型定義移動(dòng)聯(lián)通電信電信虛擬運(yùn)營(yíng)商聯(lián)通虛擬運(yùn)營(yíng)商移動(dòng)虛擬運(yùn)營(yíng)商數(shù)據(jù)可視化下載文件,使用 手機(jī)號(hào)碼歸屬地SQLite數(shù)據(jù)庫Github項(xiàng)目地址:https://github.com/lalala223/phone-db 安裝 pip ins...
閱讀 3107·2021-11-22 12:06
閱讀 729·2021-09-03 10:29
閱讀 6757·2021-09-02 09:52
閱讀 2078·2019-08-30 15:52
閱讀 3488·2019-08-29 16:39
閱讀 1262·2019-08-29 15:35
閱讀 2159·2019-08-29 15:17
閱讀 1483·2019-08-29 11:17