Java正則表達(dá)式匹配電話格式
大家都知道,正則表達(dá)式是一種可以用于模式匹配和替換的規(guī)范,一個(gè)正則表達(dá)式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它用以描述在查找文字主體時(shí)待匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配。
/** * 手機(jī)號:目前全國有27種手機(jī)號段。 * 移動有16個(gè)號段:134、135、136、137、138、139、147、150、151、152、157、158、159、182、187、188。其中147、157、188是3G號段,其他都是2G號段。 * 聯(lián)通有7種號段:130、131、132、155、156、185、186。其中186是3G(WCDMA)號段,其余為2G號段。 * 電信有4個(gè)號段:133、153、180、189。其中189是3G號段(CDMA2000),133號段主要用作無線網(wǎng)卡號。 * 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è)號段共30個(gè)號段,154、181、183、184暫時(shí)沒有,加上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)證格式(郵箱、電話號碼)
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ī)號碼 * @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的設(shè)計(jì)模式編程中建造者模式的運(yùn)用
這篇文章主要介紹了深入解析Java的設(shè)計(jì)模式編程中建造者模式的運(yùn)用,同時(shí)文中也介紹了建造者模式與工廠模式的區(qū)別,需要的朋友可以參考下2016-02-02Java8中 LocalDate和java.sql.Date的相互轉(zhuǎn)換操作
這篇文章主要介紹了Java8中 LocalDate和java.sql.Date的相互轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12SpringBoot實(shí)現(xiàn)異步任務(wù)的項(xiàng)目實(shí)踐
本文將使用SpringBoot 去實(shí)現(xiàn)異步之間的調(diào)用,提高系統(tǒng)的并發(fā)性能、用戶體驗(yàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Java實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Mybatis批量插入更新xml方式和注解方式的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Mybatis批量插入更新xml方式和注解方式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12java編譯時(shí)指定classpath的實(shí)現(xiàn)方法
在Java編程中,classpath是用于指定Java虛擬機(jī)在運(yùn)行時(shí)查找類文件的路徑,本文主要介紹了java編譯時(shí)指定classpath的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10java Socket實(shí)現(xiàn)簡單模擬HTTP服務(wù)器
這篇文章主要介紹了java Socket實(shí)現(xiàn)簡單模擬HTTP服務(wù)器,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05