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

 更新時間:2022年07月06日 09:29:58   作者:貓輕王  
日常使用一些軟件時會通過手機號碼來注冊,這就會用到正則表達式來判斷號碼是否正確,下面這篇文章主要給大家介紹了關于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正則判斷手機號身份證內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Go語言學習之映射(map)的用法詳解

    Go語言學習之映射(map)的用法詳解

    Map是一種無序的鍵值對的集合。這篇文章主要為大家詳細介紹了Go語言中映射的用法,文中的示例代碼講解詳細,對我們學習Go語言有一定的幫助,需要的可以參考一下
    2022-04-04
  • go語言Timer計時器的用法示例詳解

    go語言Timer計時器的用法示例詳解

    Go語言的標準庫里提供兩種類型的計時器Timer和Ticker。這篇文章通過實例代碼給大家介紹go語言Timer計時器的用法,代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧
    2020-05-05
  • golang image圖片處理示例

    golang image圖片處理示例

    這篇文章主要介紹了golang image圖片處理的方法,結合實例形式分析了Go語言針對圖片的打開、讀取、轉換等相關操作技巧,需要的朋友可以參考下
    2016-07-07
  • Golang通脈之流程控制詳情

    Golang通脈之流程控制詳情

    這篇文章主要介紹了Golang通脈之流程控制,流程控制是每種編程語言控制邏輯走向和執行次序的重要部分,Go語言中最常用的流程控制有if和for,而switch和goto主要是為了簡化代碼,下面文章將詳細介紹改該內容,需要的朋友可以參考一下
    2021-10-10
  • 深入Golang中的sync.Pool詳解

    深入Golang中的sync.Pool詳解

    這篇文章主要介紹了深入Golang中的sync.Pool詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Golang 利用反射對結構體優雅排序的操作方法

    Golang 利用反射對結構體優雅排序的操作方法

    這篇文章主要介紹了Golang 利用反射對結構體優雅排序的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Go語言通過smtp發送郵件的方法

    Go語言通過smtp發送郵件的方法

    這篇文章主要介紹了Go語言通過smtp發送郵件的方法,涉及Go語言發送郵件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 解決golang讀取http的body時遇到的坑

    解決golang讀取http的body時遇到的坑

    這篇文章主要介紹了解決golang讀取http的body時遇到的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang中實現簡單的Http Middleware

    Golang中實現簡單的Http Middleware

    本文主要針對Golang的內置庫 net/http 做了簡單的擴展,實現簡單的Http Middleware,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • golang中字符串MD5生成方式總結

    golang中字符串MD5生成方式總結

    在本篇文章里小編給大家整理的是一篇關于golang中字符串MD5生成方式總結內容,有興趣的朋友們可以跟著學習參考下。
    2021-07-07

最新評論

美丽人妻被按摩中出中文字幕