input正则邮箱_常用正则表达式—邮箱(Email)
常用正则表达式—邮箱(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)相关推荐
- 常用正则表达式—邮箱(Email)
常用正则表达式-邮箱(Email) 本文针对有一点正则基础的同学,如果你对正则一无所知,请移步"正则表达式30分钟入门教程 "学习. 要验证一个字符串是否为邮箱的话,首先要了解邮 ...
- 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用
正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 "*", "+", "?" 作为限定符: "*&qu ...
- 24小时临时邮箱_免费临时邮箱和接码平台
临时邮箱,接受邮箱验证 10 分钟邮箱 http://www.bccto.me/ 10 分钟邮箱 https://temp-mail.org/zh/ 10 分钟邮箱 https://10minutem ...
- mac怎么查看gitlab的注册邮箱_单位企业邮箱是什么?公司邮箱怎么申请注册?
随着线上办公的流行,使用企业邮箱的公司越来越多.企业邮箱不仅可以规范化管理工作,也可以用作沟通工具使用.最近首次接触企业邮箱的朋友问,不知道单位企业邮箱是什么,也不清楚公司邮箱怎么申请注册,那么本文就 ...
- 公司邮箱、公共邮箱、工作邮箱,常用什么邮箱?
工作邮箱注册了很多个,免费收费的我都用过了,我更倾向TOM VIP邮箱,当时注册只有2个后缀选择,现在又新上线了一个后缀,定位为商务人士提供的公司工作邮箱,打造以轻办公理念的产品,注重便捷和效率. 为 ...
- 详解:阿里邮箱_阿里企业邮箱_阿里邮箱企业版
阿里邮箱是阿里云自主研发的,基于飞天平台自主研发的云原生分布式邮箱系统,阿里邮箱提供免费版.标准版.尊享版和集团版,企业邮箱版本不同支持的账号数也不同,共享网盘容量和个人网盘容量均不同,阿里云百科来详 ...
- input正则邮箱_用正则表达式匹配邮箱地址
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- input正则邮箱_用正则表达式进行简单的邮箱校验
先说一波正则表达式的元字符: d 表示数字 w 表示数字,字母和下划线 s 表示空格和制表符 D ...
- 常用正则表达式—邮箱
邮箱的规则是:名称@域名. 邮箱名称的规则:由英文字母.数字.下划线组成. 邮箱域名的规则:由英文字母.数字.下划线."."组成.一般常见的域名都是一级域名,例如yqq@qq.co ...
最新文章
- .Net 2.0 事件机制,更简化了...
- php 统计数组个数,php统计数组元素的个数和唯一性
- 通用的启动参数获取getopt
- mysql strtok,strtok()和strtok_r()
- ovation系统服务器安装,Ovation系统介绍.ppt
- C语言门禁系统单片机,基于单片机的可视对讲门禁系统通信设计
- java web 之 WebRoot和WebContent目录
- AttributeError:type object ‘TFLiteConverterV2 ‘has no attribute ‘form_keras_model_file ‘
- python批量查询ip归属地_利用python实现批量查询ip地址归属地址
- 《商务与经济统计》学习笔记(一)---数据与统计资料
- 手机如何打开.html,手机怎么打开HTML
- 安徽工贸职业技术学院计算机比赛,放飞青春,不负韶华!《追梦》——安徽工贸职业技术学院2019年宣传片...
- 命令行运行matlab的方法
- SEO诊断,如何查询网站是否被百度降权
- Java之日期与时间
- css实现礼券效果2
- 圆排列(去除全排列重复、全排列镜像)
- 蔡高厅高等数学-02-去心邻域、函数的概念、定义域、值域、函数的有界性
- 华为机试:胡杨树补种
- 利用acrobat去掉latex模版的页眉页脚
热门文章
- 免费多功能转码机器人(小程序转码机器人)
- java 手动触发gc_java触发full gc的几种情况整理
- MCE公司:黄芩苷通过激活肝脏 CPT1 酶改善饮食诱导的肥胖和脂肪肝病变
- Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks论文理解
- XFS(dm-0): Internal error XFS_WANT_CORRUPTED_GOTO at line 1664 of file fs/xfs/libxfs/xfs_alloc.c.
- java方向考什么证_java认证证书两个工作方向
- 孫丕恕:計算力已成為數字經濟先行指數 決定未來發展潛力
- 2021年3月7日 蚂蚁金服的OceanBase Java后端开发实习面经(一面)
- 小白自学c51笔记之数码管1——D74HC245和D74HC138
- 基于AD7705的32路信号采集软件设计