如何判断邮箱格式的用户名是否符合规范?
自定义邮箱格式验证实现
根据你提出的三个验证规则,这里提供两种简单的实现方式,满足要求则返回true,否则返回false:
规则回顾
- @符号前必须存在非空内容
- @与
.com之间必须有非空内容 - 字符串必须严格以
.com结尾
方式1:字符串操作实现(可读性强)
以JavaScript为例:
function isValidUsername(emailStr) { // 先检查是否以.com结尾 if (!emailStr.endsWith('.com')) { return false; } const splitByAt = emailStr.split('@'); // 确保只有一个@符号,且@前后都有有效内容 return splitByAt.length === 2 && splitByAt[0].trim() !== '' && splitByAt[1].slice(0, -4).trim() !== ''; // 去掉末尾的.com后检查是否有内容 }
方式2:正则表达式实现(简洁高效)
同样以JavaScript为例,正则表达式直接匹配所有规则:
const isValidUsername = (emailStr) => /^.+@.+\.com$/.test(emailStr);
正则说明:
^.+:匹配开头至少一个任意字符(满足@前有内容)@:匹配必须存在的@符号.+\.com$:匹配@后至少一个任意字符,且以.com结尾(满足@与.com之间有内容、以.com结尾)
测试用例
- 合法输入:
alice@test.com→true - 非法输入:
@test.com(@前无内容)→falsealice@.com(@与.com之间无内容)→falsealice@test(不以.com结尾)→falsealice@test.co(结尾不是.com)→false
内容的提问来源于stack exchange,提问作者user20146539
相关产品推荐
相关产品推荐

