目录
  • 一、正则表达式是什么?
  • 二、详细代码
    • 1.判断手机号
    • 2.判断是否为身份证
  • 补充: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中正则的使用方式。

      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。