网站模板模板,音乐网站的设计与开发,360建网站,郑州企业型网站建设一、 背景
项目中要给用户发送邮件#xff0c;这时候需要校验用户输入的邮箱的有有效性#xff0c;这肯定用正则呀。 虽然没有统一的邮箱账号格式#xff0c;但是所有邮箱都符合“名称域名”的规律。对于名称和域名的字符限制#xff0c;我们可以根据项目的情况定义一个这时候需要校验用户输入的邮箱的有有效性这肯定用正则呀。 虽然没有统一的邮箱账号格式但是所有邮箱都符合“名称域名”的规律。对于名称和域名的字符限制我们可以根据项目的情况定义一个比如只允许有英文、数字、下划线等组成。
二、实例1只允许英文字母、数字、下划线、英文句号、以及中划线组成
例如zhagnfsan-01qq.com,这也是我们常见的邮箱格式,
2.1、名称的组成部分zhagnfsan-01
26个大小写英文字母表示为a-zA-Z数字表示为0-9下划线表示为_中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成所以需要用到表示多次出现
根据以上条件得出邮件名称部分表达式[a-zA-Z0-9_-]
2.2、域名的组成部分qq.com
域名是有多级域名的比如三级域名.二级域名.顶级域名比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“163.com”这样域名也是有规律的那就是“XX.XX.XX”就是由第一个”XX“拼接上多个“.XX”的规律。 这样又可以江域名分为两部分来看首先是第一个XX可以表示为[a-zA-Z0-9_-]然后是后面重复的.XX,一个“.XX”可表示为.[a-zA-Z0-9_-],多个的话就是(.[a-zA-Z0-9_-])。
综上所述域名部分可以表示为[a-zA-Z0-9_-](.[a-zA-Z0-9_-])
2.3、完整的正则
最终表达式由于邮箱的基本格式为“名称域名”需要使用“^”匹配邮箱的开始部分用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符所以最终邮箱的正则表达式为
^[a-zA-Z0-9_-][a-zA-Z0-9_-](.[a-zA-Z0-9_-])$
三、实例2名称允许汉字、字母、数字域名只允许英文域名
现在用中文命名的邮箱也合法了所以会有这样的邮箱张三lenovo.com.cn
3.1、名称的组成部分
26个大小写英文字母表示为a-zA-Z数字表示为0-9汉字在正则表示为[\u4e00-\u9fa5]
邮件名称部分表达式[A-Za-z0-9\u4e00-\u9fa5]
3.2、域名的组成部分
根据前面分析得出域名部分的表达式为[a-zA-Z0-9_-](.[a-zA-Z0-9_-])
3.3、完整的正则
最终表达式我们用符号将邮箱的名称和域名拼接起来因此完整的邮箱表达式为
^[A-Za-z0-9\u4e00-\u9fa5][a-zA-Z0-9_-](.[a-zA-Z0-9_-])$