JavaScript中匹配@text.com专属后缀有效邮箱的正则编写方法
限定纯@text.com后缀的JavaScript邮箱校验正则实现
明确校验判定规则
- 有效场景:邮箱后缀与
@text.com完全一致即可判定为有效,典型有效样本包括vin@text.com、jay@text.com、text@text.com - 无效场景覆盖:
- 非目标后缀的邮箱,例如
vin@gmail.com不满足要求 - 目标后缀后附带额外字符的邮箱,例如
vin@text.com.com属于无效 - 存在多段@分隔结构的邮箱,例如
vin@text.com@text.com属于无效
- 非目标后缀的邮箱,例如
- 规则边界:
@text.com后方不允许存在任何额外字符,@text.com前方的本地账号部分可支持任意长度的合法字符组合
最终可用正则表达式
针对上述全部约束,可直接在JavaScript环境中使用的正则为:/^[^@\s]+@text\.com$/
正则逻辑拆解
逐段对应规则做匹配校验,无冗余逻辑:
^:锁定字符串起始位置,确保校验从邮箱第一个字符开始执行,不会放过前缀的异常内容[^@\s]+:匹配@前的本地账号部分:- 字符集排除
@,从根源上杜绝多段@的异常结构 - 字符集排除空白字符,避免输入时混入空格导致误判
- 匹配符
+要求本地账号至少包含1个有效字符,符合邮箱的基本结构要求
- 字符集排除
@text\.com:固定匹配目标域名段,其中.做了转义处理(\.),避免正则将.识别为通配符$:锁定字符串结束位置,确保@text.com后缀后不存在任何额外字符,直接排除后缀被篡改、加长的无效样本
校验效果快速验证
可直接在浏览器控制台运行以下代码,验证所有规则下的匹配结果:
const checkReg = /^[^@\s]+@text\.com$/; // 有效样本测试 console.log(checkReg.test('vin@text.com')); // 输出 true console.log(checkReg.test('jay@text.com')); // 输出 true // 无效样本测试 console.log(checkReg.test('vin@gmail.com')); // 输出 false console.log(checkReg.test('vin@text.com.com')); // 输出 false console.log(checkReg.test('vin@text.com@text.com')); // 输出 false
内容的提问来源于stack exchange,提问作者Vinita
相关产品推荐
相关产品推荐

