我想在使用表单校验email的时候,提示详细的错误格式信息。
邮箱的规则是:名称@域名。
- @符号只能有1个。
- 邮箱名称的规则:由英文字母、数字、和指定特殊字符组成。
- 邮箱域名的规则:由英文字母、数字、下划线、"."组成。一般常见的域名都是一级域名,例如yqq@qq.com,还有很多其他的多级域名,例如yqq@ywx.163.com
我的期望效果:
用户输入的email不符合以上3种规则,则给出相应的提示。
例如:9999@@www.com. //提示@符号只能有1个。
邮箱的规则是:名称@域名。
我的期望效果:
用户输入的email不符合以上3种规则,则给出相应的提示。
例如:9999@@www.com. //提示@符号只能有1个。
为啥不直接用这个标签呢?
<input type="email">
可以通过以下几个方法校验
input.validationMessage // 提示信息
input.checkValidity() //检查是否合法
input.validity //校验的完整信息
function isValidEmail(email) {
// 使用字符串的 split 方法将电子邮件地址拆分为两部分:用户名和域名
const [username, domain] = email.split("@");
// 如果用户名或域名为空,说明电子邮件地址无效
if (!username || !domain) {
return false;
}
// 如果域名中不包含 .,说明电子邮件地址无效
if (!domain.includes(".")) {
return false;
}
// 否则,电子邮件地址有效
return true;
}
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决