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!
推薦閱讀:
- 一文帶你全面掌握Go語言中的正則表達式
- Golang 正則匹配效率詳解
- golang判斷key是否在map中的代碼
- C語言實現24點遊戲計算器的示例代碼
- 詳解Golang函數式選項(Functional Options)模式