Golang 正则表达式判断手机号或身份证
生活随笔
收集整理的這篇文章主要介紹了
Golang 正则表达式判断手机号或身份证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Golang 正則表達式判斷手機號或身份證
Golang輕松學習個人博客站點:
簡書: 😽 貓輕王 https://www.jianshu.com/u/6cce817646be
掘金: 😽 貓輕王 https://juejin.cn/user/1640918680347453
CSDN: 😽 貓輕王 https://blog.csdn.net/moer0
個人項目主頁:
https://github.com/moercat
文章目錄
- Golang 正則表達式判斷手機號或身份證
- 一、正則表達式是什么?
- 二、詳細代碼
- 1.判斷手機號
- 2.判斷是否為身份證
- 總結
一、正則表達式是什么?
正則表達式(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中正則的使用方式。
希望這個博客能對你有所益處。我是輕王,我為自己代言。總結
以上是生活随笔為你收集整理的Golang 正则表达式判断手机号或身份证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python语言画蓝色妖姬
- 下一篇: unity剩余高度自适应实现办法