基于golang的手机号格式验证和邮箱格式验证(正则表达式)

news/2024/11/15 0:22:46/

废话不多说,直接上代码

//email verify
func VerifyEmailFormat(email string) bool {//pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$`reg := regexp.MustCompile(pattern)return reg.MatchString(email)
}
//mobile verify
func VerifyMobileFormat(mobileNum string) bool {regular := "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"reg := regexp.MustCompile(regular)return reg.MatchString(mobileNum)
}

正则表达式:http://www.runoob.com/regexp/regexp-syntax.html

知识扩展:

正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSIX的出台规避了不必要变体的继续产生。这样一来,主流的正则引擎又分为3类:一、DFA,二、传统型NFA,三、POSIX NFA。

常用正则表达式

用户名:  	/^[a-z0-9_-]{3,16}$/
密码:	    /^[a-z0-9_-]{6,18}$/
十六进制值:	/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱	:  /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$//^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
URL/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP 地址:	/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)//^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML 标签:	/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/删除代码\\注释:      	(?<!http:|\S)//.*$
Unicode编码中的汉字范围:	/^[\u2E80-\u9FFF]+$/

http://www.ppmy.cn/news/789566.html

相关文章

python 校验邮箱格式、手机号格式

校验邮箱 import redef validateEmail(email):if re.match("^.\\(\\[?)[a-zA-Z0-9\\-\\.]\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$", email) ! None:print("成功")return Trueelse:print("失败")return TruevalidateEmail(123abc.net.cn) 校验…

JS验证手机号,密码,邮箱格式

相关解释&#xff1a; 1. /^$/ 这个是个通用的格式。 ^ 匹配输入字符串的开始位置&#xff1b;$匹配输入字符串的结束位置 2. 里面输入需要实现的功能。 * 匹配前面的子表达式零次或多次&#xff1b; 匹配前面的子表达式一次或多次&#xff1b;…

vue3格式校验邮箱和手机号

vue3格式校验邮箱和手机号这里写自定义目录标题 <q-input outlined dense :rules"[(val) > val ! null || val?.trim() ! || 邮箱不能为空,val>/^[0-9a-zA-Z_.-][][0-9a-zA-Z_.-]([.][a-zA-Z]){1,2}$/.test(val)|| 请输入正确的邮箱格式]" v-model"e…

正则验证手机号码和邮箱格式

前言 使用正则验证手机及电话号码是否正确&#xff0c;在JSP中操作 <div class"row clearfix"><div class"col-3 t-r">电话&#xff1a;</div><div class"col-7"><input type"text" id"tel" na…

【密码学篇】GM密码行业标准下载方法

【密码学篇】GM密码行业标准下载方法 截止到2023年07月08日&#xff0c;密码行业标准化技术委员会共发布了144个密码行业标准&#xff0c;可点击链接预览或使用IDM下载器下载标准&#xff0c;此外该方法很多场景都适用&#xff0c;自行尝试—【蘇小沐】 文章目录 【密码学篇】…

【动态规划】第N个泰波那契数

&#x1f4ed;从这里开始&#xff0c;我们要开始学习动态规划辣。之后的动态规划有关的文章都是按照这个逻辑来写&#xff0c;首先来介绍一下基本逻辑。 &#x1f9c0;(1)题目解析&#xff1a;就是分析题目&#xff0c;读懂题目想让我们实现的功能 &#x1f9c0;(2)算法原理&…

PB 打印机打印横纵向设置

dw_print.settransobject(sqlca) dw_print.Object.DataWindow.Print.Orientation 1 //默认横向 edit by zxx&#xff1a;2018-10-17 16:50:44 //dw_print.retrieve( gs_dbname,ls_receivesn) dw_print.retrieve(ls_receivesn,gs_dbname)

PB关于打印机纵向横向打印的设置

dw_2.Object.DataWindow.Print.Orientation 0 横向 dw_2.Object.DataWindow.Print.Orientation 1 纵向