知识准备
- 我们要知道基本的正则表达式知识
- 开始元字符
/^ - 包含元字符
[] $/结束元字符
邮箱校验分析
需求分析
- 要以
[a-z]、[A-Z]、[0-9]、以及_和-开头 - 中间内容可以随便填写
- 字符串中要匹配有@,并且后面紧跟
[a-z]、[A-Z]、[0-9]、以及_和-字符并且最少匹配两次 - 以.加上2~3个字母结尾
源代码
export const isEmail = (e) => {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-]{2,})+(.[a-zA-Z]{2,3})$/.test(e)
}
代码段解析
/^([a-zA-Z0-9_-])这段代码块表示开头首字母可以接受小写字母、大写字母、数字以及-和_两个字符@([a-zA-Z0-9_-]{2,})字符串需要符合@后面紧跟最少两个,小写字母、大写字母、数字以及-和_组成的字符串,比如@qq、@163(.[a-zA-Z]{2,3})$/最后,字符串需要匹配以.加上两个到三个的字符结尾,比如.com、.cn
手机号校验分析
需求分析
- 以现有三大供应商电话号码资源开头
- 格式为十一个纯数字组成
源代码
export const isMobile = (e) => {
return /^(13|14|15|17|18|19)[0-9]{9}$/.test(e)
}
代码段分析
/^(13|14|15|17|18|19)开头要以13、14、15、17、18、19现有的电话号码资源开头[0-9]{9}$/因为开头已经有了两位数字开头,所以紧接着9个数字即可
结束
第二篇文章,两个很简单的正则表达式,只能满足一些比较简单的需求,以一个小白的角度分析解释,后续会继续补充一些高阶一点的正则表达式,谢谢大家