Golang正則表達(dá)式判斷手機(jī)號或身份證方法實(shí)例
一、正則表達(dá)式是什么?
正則表達(dá)式(Regular Expression)是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為"元字符")。
正則表達(dá)式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串。
二、詳細(xì)代碼
1.判斷手機(jī)號
手機(jī)號格式:
第一位必為1的十一位數(shù)字
代碼如下(示例):
// CheckMobile 檢驗(yàn)手機(jī)號
func CheckMobile(phone string) bool {
// 匹配規(guī)則
// ^1第一位為一
// [345789]{1} 后接一位345789 的數(shù)字
// \\d \d的轉(zhuǎn)義 表示數(shù)字 {9} 接9位
// $ 結(jié)束符
regRuler := "^1[345789]{1}\\d{9}$"
// 正則調(diào)用規(guī)則
reg := regexp.MustCompile(regRuler)
// 返回 MatchString 是否匹配
return reg.MatchString(phone)
}
2.判斷是否為身份證
身份證格式為:
15位數(shù)字或18位數(shù)字,當(dāng)為18位數(shù)時,最后一位可能為X
代碼如下(示例):
// CheckIdCard 檢驗(yàn)身份證
func CheckIdCard(card string) bool {
//18位身份證 ^(\d{17})([0-9]|X)$
// 匹配規(guī)則
// (^\d{15}$) 15位身份證
// (^\d{18}$) 18位身份證
// (^\d{17}(\d|X|x)$) 18位身份證 最后一位為X的用戶
regRuler := "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)"
// 正則調(diào)用規(guī)則
reg := regexp.MustCompile(regRuler)
// 返回 MatchString 是否匹配
return reg.MatchString(card)
}補(bǔ)充:golang手機(jī)號郵箱正則
//手機(jī)號驗(yàn)證規(guī)則
func PhoneCheckRule() string {
return "^1[3|4|5|6|7|8|9][0-9]\\d{8}$"
}
//郵箱驗(yàn)證規(guī)則
func EmailCheckRule() string {
return "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$"
}總結(jié)
通過以上兩個例子可以輕松了解在Golang中正則的使用方式。
到此這篇關(guān)于Golang正則表達(dá)式判斷手機(jī)號或身份證的文章就介紹到這了,更多相關(guān)Golang正則判斷手機(jī)號身份證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go?語言進(jìn)階freecache源碼學(xué)習(xí)教程
這篇文章主要為大家介紹了Go?語言進(jìn)階freecache源碼學(xué)習(xí)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
深入了解Go語言中web框架的中間件運(yùn)行機(jī)制
大家在使用iris框架搭建web系統(tǒng)時,一定會用到中間件。那么你了解中間件的運(yùn)行機(jī)制嗎?你知道為什么在iris和gin框架的請求處理函數(shù)中要加c.Next()函數(shù)嗎?本文就和大家一起探究該問題的答案2023-02-02
Go基礎(chǔ)教程系列之WaitGroup用法實(shí)例詳解
這篇文章主要介紹了Go基礎(chǔ)教程系列之WaitGroup用法實(shí)例詳解,需要的朋友可以參考下2022-04-04
go語言goto語句跳轉(zhuǎn)到指定的標(biāo)簽實(shí)現(xiàn)方法
這篇文章主要介紹了go語言goto語句跳轉(zhuǎn)到指定的標(biāo)簽實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
golang?防緩存擊穿singleflight的實(shí)現(xiàn)
本文主要介紹了golang?防緩存擊穿singleflight的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度
這篇文章主要介紹了Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度,使用Go語言后,可以并發(fā)獲取,極大提升效率,需要的朋友可以參考下2023-02-02

