Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript验证注册表单的自定义域?_Javascript_Jquery_Forms_Validation - Fatal编程技术网

使用javascript验证注册表单的自定义域?

使用javascript验证注册表单的自定义域?,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,我正在尝试验证注册表单中我的公司电子邮件id…以便表单只接受我的公司邮件id…那么现在验证后出现了什么问题(即,当我们单击“提交”按钮时,我们会收到一条警告消息)表单正在刷新,输入的值将被清除…因此任何帮助或建议都不会刷新??提前感谢 我的Javascript方法是: function submitAlbum() { var frm = document.getElementById("frmRegistration"); //validateEmail(document

我正在尝试验证注册表单中我的公司电子邮件id…以便表单只接受我的公司邮件id…那么现在验证后出现了什么问题(即,当我们单击“提交”按钮时,我们会收到一条警告消息)表单正在刷新,输入的值将被清除…因此任何帮助或建议都不会刷新??提前感谢

我的Javascript方法是:

    function submitAlbum() {
    var frm = document.getElementById("frmRegistration");
    //validateEmail(document.getElementById('email').value);
    var email = document.getElementById('email').value;
    var re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    if (re.test(email)) {
        if (email.indexOf('@bdisys.com', email.length - '@bdisys.com'.length) !== -1) {
            //      alert('Submission was successful.');
            var r = confirm("Are You Sure You Want to add your details.");
            if (r == true) {
                frm.action = "signUpServlet?formidentity=doRegistration&checkboxStatus=" + checkboxStatus;
                frm.submit();
            }
        }
        else {
            document.getElementById('email').focus();
            alert('Email must be a Company e-mail address (your.name@bdisys.com).');
            return false;
        }
    }
    else {
        document.getElementById('email').focus();
        alert('Not a valid e-mail address.');
        return false;
    }
}

您应该将验证方法绑定到表单的提交事件。 在验证方法内部,如果字段无效,则停止事件传播,如果可以,则让它冒泡

var frm = document.getElementById("frmRegistration");
frm.addEventListener('submit', validate, false);
var re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;

function validate(event) {
  // validateEmail
  var email = document.getElementById('email').value;
  var confirmed = false;
  if (re.test(email)) {
    confirmed = true;
    if (email.indexOf('@bdisys.com', email.length - '@bdisys.com'.length) !== -1) {
      confirmed = confirm("Are You Sure You Want to add your details.");
    }
  } else {
    document.getElementById('email').focus();
    alert('Email must be a Company e-mail address (your.name@bdisys.com).'); 
  }
  if (!confirmed) {
    event.preventDefault();
    event.stopPropagation();
    return false;
  }
}

我建议您使用jQuery使代码更简单,更便于移植。

我认为这可以完成这项工作

<input type = "email" pattern ="^[a-z0-9._%+-]+@bdisys.com">

检查这个箱子

尝试使用
localStorage
进行此操作。我已编辑了我的答案。请检查Hi fuegy…如果可能,您可以进行所需的更改吗!!因为我在javascript中是新的@SalmanAmaan这个答案有问题吗?为什么它没有被投票或者被接受?我已经接受了,但是你重新编辑了答案,这就是问题所在!!非常感谢!!