邮箱的正则表达式

邮箱的一般格式为:名称@域名。

我们这里需要匹配的邮箱中名称可以包含汉字、字母、数字,域名只允许为英文和数字。

例如:张三[email protected]

邮件名称部分:

  • 汉字在正则中表示为[\u4e00-\u9fa5]
  • 字母和数字表示为A-Za-z0-9
因此邮件名称部分的正则表达式整理如下:

[A-Za-z0-9\u4e00-\u9fa5]+

邮件域名部分:

一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“xx .xx .xx .xx”组成。

  • “xx”部分可以表示为[a-zA-Z0-9_-]+
  • “.xx”部分可以表示为\.[a-zA-Z0-9_-]+
  • 多个“.xx”可以表示为(\.[a-zA-Z0-9_-]+)+
得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。

我们综合上面两部分得出最终表达式:

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



你可能感兴趣的:(Algorithm)