正则表达式验证邮箱地址

本文介绍了电子邮件地址的常见格式及正则表达式的匹配方法。详细列举了邮箱前缀的六种常见形式,包括纯数字、纯字母等,并给出了@后缀的一般规则。此外,还提供了一个JavaScript函数用于验证邮箱地址的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

邮箱@前缀的几种类型:

1、纯数字   123456@qq.com
2、纯字母      zhangsan@qq.com
3、字母数字混合  zhang123@qq.com
4、带点的      zhang.san@qq.com
5、带下划线     zhang_san@qq.com
6、带连接线    zhang-san@qq.com

邮箱@后缀的类型:

1、123456@qq.com

2、123456@vip.qq.com

*至少有两处单词

*顶级域名一般为2~4位(如cn、com、club)

默认前缀、后缀不以’_’、’-‘、’.’结尾,所以正则可以写成:

^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$ 

\d:表示[0-9]

一个简单的js验证

<script>
  function checkEmail(str){
    var re = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/; 
    if (re.test(str)) {
      alert("ok");
    } else {
      alert("nope");
    }
  }

</script> 
Email:<input type="text" id="mail" value=""/>
<input type="button" value="check" onclick="checkEmail(document.getElementById('mail').value);"/>
验证电子邮件地址(Email Address)的合法性通常涉及检查地址是否符合标准格式以及常见的语法错误。这里我会分别介绍传统的验证方式和使用正则表达式验证方法。 ### 传统方式 传统的方法通常包括以下几个步骤: 1. **分割**:将地址分解成用户名、@符号、域名和可能的顶级域名(如.gov或.com)。 2. **检查格式**:确保地址包含@符号,并且用户名和域名都存在。 3. **验证用户名**:通常,用户名由字母、数字、点(.)、下划线(_)组成,但有些服务可能有更严格的限制。 4. **验证域名**:检查域名由合法字符组成,并且有正确的顶级域后缀,例如.com、.org等。 5. **特殊处理**:考虑邮件服务器可能使用的特殊前缀(如info@, mailto:等),但这些情况不常见。 ### 正则表达式 使用正则表达式是一种简洁的方式,它可以一次性完成上述多个验证步骤。以下是一个基本的正则表达式示例: ```java public boolean isValidEmail(String email) { String regex = "^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$"; return email.matches(regex); } ``` 这个正则表达式含义如下: - `^` 开始字符串匹配 - `[\\w-\\.]+` 匹配至少一个字母、数字、下划线或点 - `@` 匹配 @ 符号 - `([\\w-]+\\.)+` 匹配至少一个域名部分,由单词字符(字母、数字或短横线)或点构成,后面跟着一个点 - `[\\w-]{2,4}` 匹配至少两个到四个单词字符的顶级域名 - `$` 结束字符串匹配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值