面试常遇到:手写邮箱正则表达式
2020-04-02 18:57
871 查看
只允许英文字母、数字、下划线、英文句号、以及中划线组成
举例:mengjunjie-001@gmail.com
1.分析邮件名称部分:
26个大小写英文字母表示为a-zA-Z
数字表示为0-9
下划线表示为_
中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现
根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+
2.分析域名部分:
一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“
** .** .** .**”组成。
“
**”部分可以表示为[a-zA-Z0-9_-]+
“
.**”部分可以表示为.[a-zA-Z0-9_-]+
多个“
.**”可以表示为(.[a-zA-Z0-9_-]+)+
综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+
3.最终表达式
由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$” 匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 遇到的正则表达式中文、邮箱、电话
- iphone匹配邮箱的正则表达式
- 我的常用-正则表达式(邮箱验证)
- 最严谨的邮箱校验正则表达式
- OC版正则表达式验证邮箱和身份证真伪
- C#中使用正则表达式验证电话号码、手机号、身份证号、数字、邮编、时间(仅年月日)、邮箱、小数的正则表达式
- js验证邮箱格式-正则表达式
- 常用手机号、邮箱正则表达式
- js正则表达式手机号(邮箱)验证
- Android 使用正则表达式验证邮箱格式是否正确
- js正则表达式——验证邮箱格式、邮编、身份证号码、是否为空、下拉框选项、密码、手机号码、电话号码
- iOS - 常用正则表达式判断邮箱、身份证..是否正确
- IOS 常用正则表达式整理(邮箱、身份证号、固化、手机号、纯数字、纯文字等)
- iOS - 正则表达式判断邮箱、身份证...
- 邮箱正则表达式写法
- JS正则表达式验证账号、手机号、电话和邮箱
- js正则表达式用法实例:验证邮箱格式、密码复杂度、手机号码、QQ号码
- iOS - 正则表达式判断邮箱、身份证..是否正确:
- 正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等
- 正则表达式-邮箱有效性验证