【发布时间】:2022-07-08 01:24:19
【问题描述】:
我最近有一个很好的设置,可以防止 gmail、hotmail、yahoo 等电子邮件能够在我们的表单上提交,以便为我们公司申请演示。但是,我们现在在某些页面上有多个表单,其中一些我们将允许个人电子邮件。
我的问题是如何调整以下脚本以禁止在特定表单 ID 上输入?是否可以简单地添加一些检测表单 ID 的东西(我们现在称之为#form-id)。
// EMAIL DOMAINS TO BLOCK
var emailList = /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!icloud.com)(?!hotmail.com)(?!aol.com)
// ALERT MESSAGE TO BE SHOWN
var emailAlert = 'Please input a valid work email address (NOT Gmail, Outlook, Yahoo, etc.)'
// VALIDATE
$('input[type=submit]').click(function() {
$("input[type=email]").each(function() {
var email = $(this).val().toLowerCase();
if (emailList.test(email)) {
(this).setCustomValidity('');
} else {
(this).setCustomValidity(emailAlert);
}
})
})
// PREVENTS ALERT FROM APPEARING WITH EACH KEYPRESS
$('input[type=email]').on('input', function() {
(this).setCustomValidity('');
});
【问题讨论】:
标签: javascript jquery