日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Golang正則表達(dá)式判斷手機(jī)號或身份證方法實(shí)例_Golang

作者:貓輕王 ? 更新時(shí)間: 2022-08-28 編程語言

一、正則表達(dá)式是什么?

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

正則表達(dá)式使用單個(gè)字符串來描述、匹配一系列匹配某個(gè)句法規(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ù)時(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é)

通過以上兩個(gè)例子可以輕松了解在Golang中正則的使用方式。

原文鏈接:https://blog.csdn.net/moer0/article/details/122832400

欄目分類
最近更新