邮箱合法性验证

时间:2025-03-10 09:02:49

邮箱只允许英文字母、数字、下划线、英文句号、以及中划线组成


eg:ZhangSan@


邮箱名称部分:

    26个大小写英文字母表示为     a-zA-Z
    数字表示为     0-9
    下划线表示为    _
    中划线表示为      -
    由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现

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


邮箱域名部分:

 一般域名的规律为“[N级域名][三级域名.]二级域名.*域名”,比如“”、“”、“”、“”,分析可得域名类似“** .** .** .**”组成。

    “**”部分可以表示为        [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_-]+)+$







邮箱名称允许汉字、字母、数字,域名只允许英文域名


    eg:  张三@


邮箱名称部分:

    汉字在正则表示为      [\u4e00-\u9fa5]
    字母和数字表示为      A-Za-z0-9
     通过分析得出邮箱名称部分表达式为      [A-Za-z0-9\u4e00-\u9fa5]+

邮箱域名部分

 一般域名的规律为“[N级域名][三级域名.]二级域名.*域名”,比如“”、“”、“”、“”,分析可得域名类似“** .** .** .**”组成。

    “**”部分可以表示为     [a-zA-Z0-9_-]+
    “.**”部分可以表示为     \.[a-zA-Z0-9_-]+
    多个“.**”可以表示为     (\.[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_-]+)+$



邮箱名称域名允许汉字、字母、数字


eg:张三@技术员.中国

通过以上两个案例分析

最终表达式:

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


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