// 全面的正则(兼容大多数情况)
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;// 或直接使用浏览器内置验证
<input type="email" required>
-
/:正则表达式的起始和结束标志。
-
^:匹配字符串的开头。
-
[a-zA-Z0-9._%±]+:匹配电子邮件地址的本地部分(@符号之前)。
-
[a-zA-Z0-9]:字母(大小写)和数字。
-
.%±:允许的特殊字符(.、、%、+、-)。
-
+:表示前面的字符可以重复1次或多次。
-
@:匹配邮箱地址中的 @ 符号。
-
[a-zA-Z0-9.-]+:匹配邮箱的域名部分。
-
.:可以包含的点(如 example.com)。
-
-:支持带有连字符的域名(如 my-domain.com)。
-
.:转义的点,用于匹配域名中的 .。
-
[a-zA-Z]{2,}:匹配顶级域名(TLD),例如 com、org、net。
-
{2,}:表示至少2个字母,例如 cn、us、info 等。
-
$:匹配字符串的结尾,确保邮箱格式完整。
✅ 示例匹配的邮箱:
user@example.com
my.email123@domain.co.uk
name+alias@mail-provider.org
❌ 示例不匹配的邮箱:
user@com(TLD 不符合规则)
user@.com(域名不完整)
user@domain,com(不允许逗号)
user@domain…com(连续的点不合法)
这段正则表达式在邮箱验证中非常常用,能过滤大部分无效邮箱地址。