我可以在 JS 中使用内置 HTML5 电子邮件验证的浏览器吗?

DBS*_*DBS 0 html javascript jquery

我正在开发一个非常基本的 HTML 表单,并被要求添加电子邮件验证。该表单是通过 AJAX 帖子发送的,因此我无法使用带有提交按钮的标准 HTML 验证:

<form>
    <input type="email" id="email">
    <input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我可以向 JS 添加一些正则表达式,但这让我想知道,是否可以通过 JS 与浏览器内置验证进行交互?

例如,可以根据验证(有效/无效)为输入提供当前状态的内置函数或属性

就像是:

var valid = document.getElementById("email").isValid();
Run Code Online (Sandbox Code Playgroud)

Ian*_*ley 5

checkValidity我认为您可以在每个元素上使用该方法:

var email = document.getElementById('email');
var isValid = email.checkValidity();

if (isValid) {
    // Submit form
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用validity元素上的属性来检查哪些验证约束失败:

var validity = email.validity;
if (validity.valueMissing) {
    return 'Please enter your email';
}
Run Code Online (Sandbox Code Playgroud)