Golang正則表達式判斷手機號或身份證方法實例

一、正則表達式是什麼?

正則表達式(Regular Expression)是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為"元字符")。

正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串。

二、詳細代碼

1.判斷手機號

手機號格式:

第一位必為1的十一位數字

代碼如下(示例):

// CheckMobile 檢驗手機號
func CheckMobile(phone string) bool {
	// 匹配規則
	// ^1第一位為一
	// [345789]{1} 後接一位345789 的數字
	// \\d \d的轉義 表示數字 {9} 接9位
	// $ 結束符
	regRuler := "^1[345789]{1}\\d{9}$"

	// 正則調用規則
	reg := regexp.MustCompile(regRuler)

	// 返回 MatchString 是否匹配
	return reg.MatchString(phone)
}

2.判斷是否為身份證

身份證格式為:

15位數字或18位數字,當為18位數時,最後一位可能為X

代碼如下(示例):

// CheckIdCard 檢驗身份證
func CheckIdCard(card string) bool {
	//18位身份證 ^(\d{17})([0-9]|X)$
	// 匹配規則
	// (^\d{15}$) 15位身份證
	// (^\d{18}$) 18位身份證
	// (^\d{17}(\d|X|x)$) 18位身份證 最後一位為X的用戶
	regRuler := "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)"

	// 正則調用規則
	reg := regexp.MustCompile(regRuler)

	// 返回 MatchString 是否匹配
	return reg.MatchString(card)
}

補充:golang手機號郵箱正則

//手機號驗證規則
func PhoneCheckRule() string {
	return "^1[3|4|5|6|7|8|9][0-9]\\d{8}$"
}

//郵箱驗證規則
func EmailCheckRule() string {
	return "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$"
}

總結

通過以上兩個例子可以輕松瞭解在Golang中正則的使用方式。

到此這篇關於Golang正則表達式判斷手機號或身份證的文章就介紹到這瞭,更多相關Golang正則判斷手機號身份證內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: