如何用正则表达式(RegEx)避免邮箱地址中+字符连续重复
检测禁止连续加号的邮箱地址正则方案
核心正则表达式
^(?!.*\+\+)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
规则拆解
^(?!.*\+\+):关键限制,负向预查断言,确保整个邮箱字符串中不存在连续的两个加号(++),从根源上排除不符合要求的情况[a-zA-Z0-9._%+-]+:匹配邮箱的本地部分(@之前的内容),允许常规合法字符:大小写字母、数字、下划线、点、百分号、加号、减号@:匹配邮箱必备的@分隔符[a-zA-Z0-9.-]+:匹配域名的主体部分(比如gmail、outlook)\.[a-zA-Z]{2,}:匹配域名后缀(比如.com、.co.uk),要求后缀长度至少2位
示例验证
- 符合要求(匹配成功):
Sam+Johns@gmail.com—— 仅含单个独立加号,无连续重复 - 不符合要求(匹配失败):
Sam++Johns@gmail.com—— 存在连续加号++,被预查规则拦截
内容的提问来源于stack exchange,提问作者Jayden
相关产品推荐
相关产品推荐

