Java正則表達(dá)式匹配電話格式
大家都知道,正則表達(dá)式是一種可以用于模式匹配和替換的規(guī)范,一個(gè)正則表達(dá)式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它用以描述在查找文字主體時(shí)待匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配。
/**
* 手機(jī)號(hào):目前全國(guó)有27種手機(jī)號(hào)段。
* 移動(dòng)有16個(gè)號(hào)段:134、135、136、137、138、139、147、150、151、152、157、158、159、182、187、188。其中147、157、188是3G號(hào)段,其他都是2G號(hào)段。
* 聯(lián)通有7種號(hào)段:130、131、132、155、156、185、186。其中186是3G(WCDMA)號(hào)段,其余為2G號(hào)段。
* 電信有4個(gè)號(hào)段:133、153、180、189。其中189是3G號(hào)段(CDMA2000),133號(hào)段主要用作無(wú)線網(wǎng)卡號(hào)。
* 150、151、152、153、155、156、157、158、159 九個(gè);
* 130、131、132、133、134、135、136、137、138、139 十個(gè);
* 180、182、185、186、187、188、189 七個(gè);
* 13、15、18三個(gè)號(hào)段共30個(gè)號(hào)段,154、181、183、184暫時(shí)沒(méi)有,加上147共27個(gè)。
*/
private boolean telCheck(String tel){
Pattern p = Pattern.compile("^((13\\d{9}$)|(15[0,1,2,3,5,6,7,8,9]\\d{8}$)|(18[0,2,5,6,7,8,9]\\d{8}$)|(147\\d{8})$)");
Matcher m = p.matcher(tel);
return m.matches();
}
Java正則表達(dá)式驗(yàn)證格式(郵箱、電話號(hào)碼)
package com.firewolf.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 使用正則表達(dá)式驗(yàn)證輸入格式
* @author liuxing
*
*/
public class RegexValidateUtil {
public static void main(String[] args) {
System.out.println(checkEmail("14_8@qw.df"));
System.out.println(checkMobileNumber("071-3534452"));
}
/**
* 驗(yàn)證郵箱
* @param email
* @return
*/
public static boolean checkEmail(String email){
boolean flag = false;
try{
String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
/**
* 驗(yàn)證手機(jī)號(hào)碼
* @param mobiles
* @return
*/
public static boolean checkMobileNumber(String mobileNumber){
boolean flag = false;
try{
Pattern regex = Pattern.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$");
Matcher matcher = regex.matcher(mobileNumber);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
}
相關(guān)文章
Java 敏感詞檢測(cè)工具的實(shí)現(xiàn)
本文介紹了Java敏感詞檢測(cè)工具的使用方法,包括依賴(lài)引入、核心方法使用實(shí)例、常規(guī)用法、自定義替換檢測(cè)策略等內(nèi)容,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
解決Idea報(bào)錯(cuò)There is not enough memory
在使用Idea開(kāi)發(fā)過(guò)程中,可能會(huì)遇到因內(nèi)存不足導(dǎo)致的閃退問(wèn)題,出現(xiàn)"There is not enough memory to perform the requested operation"錯(cuò)誤時(shí),可以通過(guò)調(diào)整Idea的虛擬機(jī)選項(xiàng)來(lái)解決,方法是在Idea的Help菜單中選擇Edit Custom VM Options2024-11-11
詳細(xì)總結(jié)Java基礎(chǔ)類(lèi)和包裝類(lèi)
近幾天一直在復(fù)習(xí)Java基礎(chǔ)知識(shí),今天就帶大家總結(jié)一下Java基礎(chǔ)類(lèi)和包裝類(lèi),下文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
SpringBoot整合quartz實(shí)現(xiàn)定時(shí)任務(wù)
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何整合quartz實(shí)現(xiàn)定時(shí)任務(wù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10
SpringBoot如何優(yōu)雅的處理校驗(yàn)參數(shù)的方法
這篇文章主要介紹了SpringBoot如何優(yōu)雅的處理校驗(yàn)參數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

