栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Golang 正则表达式判断手机号或身份证

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang 正则表达式判断手机号或身份证

Golang 正则表达式判断手机号或身份证 Golang轻松学习

文章目录
  • 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中正则的使用方式。

希望这个博客能对你有所益处。我是轻王,我为自己代言。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910434.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号