常用正则表达式—邮箱(Email)

本文针对有一点正则基础的同学,如果你对正则一无所知,请移步“正则表达式30分钟入门教程”学习。

要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式。我尝试过在网上找出一个标准的格式,但是很遗憾我没有找到。我也尝试使用RFC标准来判断邮箱的格式,但是也没有结果。网上些博客说不应该使用RFC标准来验证邮箱是否合法,有兴趣的可以看看“is this email valid?”和“Don’t RFC-Validate Email Addresses”。据了解【参考】,现在用中文命名的邮箱也合法了,比如“杨元庆@联想.中国”。

虽然没有统一的邮箱账号格式,但是所有邮箱都符合“名称@域名”的规律。对于名称和域名的字符限制,我们可以根据项目的情况定义一个,比如只允许有英文、数字、下划线等组成。下面举例实现一些验证邮箱格式的正则表达式。

实例1、只允许英文字母、数字、下划线、英文句号、以及中划线组成

举例:zhangsan-001@gmail.com

分析邮件名称部分:

26个大小写英文字母表示为a-zA-Z

数字表示为0-9

下划线表示为_

中划线表示为-

由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现

根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+

分析域名部分:

一般域名的规律为“[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_-]+)+

最终表达式:

由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

实例2、名称允许汉字、字母、数字,域名只允许英文域名

举例:杨元庆001Abc@lenovo.com.cn

分析邮件名称部分:

汉字在正则表示为[\u4e00-\u9fa5]

字母和数字表示为A-Za-z0-9

通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+

分析邮件域名部分

邮件部分可以参考实例1中的分析域名部分。

得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。

最终表达式:

我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为

^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

input正则邮箱_常用正则表达式—邮箱(Email)相关推荐

  1. 常用正则表达式—邮箱(Email)

    常用正则表达式-邮箱(Email)  本文针对有一点正则基础的同学,如果你对正则一无所知,请移步"正则表达式30分钟入门教程 "学习. 要验证一个字符串是否为邮箱的话,首先要了解邮 ...

  2. 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

    正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 "*", "+", "?" 作为限定符: "*&qu ...

  3. 24小时临时邮箱_免费临时邮箱和接码平台

    临时邮箱,接受邮箱验证 10 分钟邮箱 http://www.bccto.me/ 10 分钟邮箱 https://temp-mail.org/zh/ 10 分钟邮箱 https://10minutem ...

  4. mac怎么查看gitlab的注册邮箱_单位企业邮箱是什么?公司邮箱怎么申请注册?

    随着线上办公的流行,使用企业邮箱的公司越来越多.企业邮箱不仅可以规范化管理工作,也可以用作沟通工具使用.最近首次接触企业邮箱的朋友问,不知道单位企业邮箱是什么,也不清楚公司邮箱怎么申请注册,那么本文就 ...

  5. 公司邮箱、公共邮箱、工作邮箱,常用什么邮箱?

    工作邮箱注册了很多个,免费收费的我都用过了,我更倾向TOM VIP邮箱,当时注册只有2个后缀选择,现在又新上线了一个后缀,定位为商务人士提供的公司工作邮箱,打造以轻办公理念的产品,注重便捷和效率. 为 ...

  6. 详解:阿里邮箱_阿里企业邮箱_阿里邮箱企业版

    阿里邮箱是阿里云自主研发的,基于飞天平台自主研发的云原生分布式邮箱系统,阿里邮箱提供免费版.标准版.尊享版和集团版,企业邮箱版本不同支持的账号数也不同,共享网盘容量和个人网盘容量均不同,阿里云百科来详 ...

  7. input正则邮箱_用正则表达式匹配邮箱地址

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. input正则邮箱_用正则表达式进行简单的邮箱校验

    先说一波正则表达式的元字符: d               表示数字 w               表示数字,字母和下划线 s               表示空格和制表符 D           ...

  9. 常用正则表达式—邮箱

    邮箱的规则是:名称@域名. 邮箱名称的规则:由英文字母.数字.下划线组成. 邮箱域名的规则:由英文字母.数字.下划线."."组成.一般常见的域名都是一级域名,例如yqq@qq.co ...

最新文章

  1. .Net 2.0 事件机制,更简化了...
  2. php 统计数组个数,php统计数组元素的个数和唯一性
  3. 通用的启动参数获取getopt
  4. mysql strtok,strtok()和strtok_r()
  5. ovation系统服务器安装,Ovation系统介绍.ppt
  6. C语言门禁系统单片机,基于单片机的可视对讲门禁系统通信设计
  7. java web 之 WebRoot和WebContent目录
  8. AttributeError:type object ‘TFLiteConverterV2 ‘has no attribute ‘form_keras_model_file ‘
  9. python批量查询ip归属地_利用python实现批量查询ip地址归属地址
  10. 《商务与经济统计》学习笔记(一)---数据与统计资料
  11. 手机如何打开.html,手机怎么打开HTML
  12. 安徽工贸职业技术学院计算机比赛,放飞青春,不负韶华!《追梦》——安徽工贸职业技术学院2019年宣传片...
  13. 命令行运行matlab的方法
  14. SEO诊断,如何查询网站是否被百度降权
  15. Java之日期与时间
  16. css实现礼券效果2
  17. 圆排列(去除全排列重复、全排列镜像)
  18. 蔡高厅高等数学-02-去心邻域、函数的概念、定义域、值域、函数的有界性
  19. 华为机试:胡杨树补种
  20. 利用acrobat去掉latex模版的页眉页脚

热门文章

  1. 免费多功能转码机器人(小程序转码机器人)
  2. java 手动触发gc_java触发full gc的几种情况整理
  3. MCE公司:黄芩苷通过激活肝脏 CPT1 酶改善饮食诱导的肥胖和脂肪肝病变
  4. Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks论文理解
  5. XFS(dm-0): Internal error XFS_WANT_CORRUPTED_GOTO at line 1664 of file fs/xfs/libxfs/xfs_alloc.c.
  6. java方向考什么证_java认证证书两个工作方向
  7. 孫丕恕:計算力已成為數字經濟先行指數 決定未來發展潛力
  8. 2021年3月7日 蚂蚁金服的OceanBase Java后端开发实习面经(一面)
  9. 小白自学c51笔记之数码管1——D74HC245和D74HC138
  10. 基于AD7705的32路信号采集软件设计