在提交表单

时间:2015-07-22 15:56:34

标签: javascript forms validation

我已经学会了登录表格,我计划验证两个值(电子邮件和密码)并将其用作条件为真或假。

我有这样的代码

    function userValid(email) {
    var usr = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$\i/ ;
    return usr.test(email);     
    };

    function passValid(password) {
    var passw = /^[A-Za-z]\w{7,14}$/;
    return passw.test(password);            
    };

上面的代码用于验证我的表单中的电子邮件和密码,我认为如果我将值传递给该函数(例如将值电子邮件传递给userValid()函数),它将返回true / false。

我计划创建验证表单或登录表单,首先检查用户电子邮件&密码在我提交之前有效(比如说给服务器)。

我认为逻辑是这样的:

  1. 如果两个值均为TRUE,则登录成功
  2. 如果其中一个值为TRUE,则登录失败
  3. 如果两个值均为FALSE,则登录失败
  4. else(值必须为EMPTY或NULL)然后请插入电子邮件和密码
  5. 等等

    我的问题是如何用ABOVE创建条件语句,当然还有JAVASCRIPT :)谢谢。

2 个答案:

答案 0 :(得分:1)

我不知道你是如何访问电子邮件和密码的,但如果填写这些内容,这应该会有效。

if ( userValid(email) == true && passValid(password) == true ) {
   //Login succes code
}
else if ( userValid(email) == false || passValid(password) == false ){
   //Login failure code
}
else {
   //The "Please insert" code
}

只有当两个值都为真时,&&操作符(和)才返回true。

||操作符(或)如果至少有一个值为真,则返回true。

这可能会更容易,但它应该像这样工作。

您可以添加代码来检查密码和用户名是否为空,但我认为这不是必需的。

答案 1 :(得分:0)

所以你想要做的是创建一个在用户尝试提交表单时调用的函数。如果此函数返回false,则表单将不会提交。否则它会提交表格。你可以这样写:

var yourForm = document.getElementById("yourForm");
var yourEmail = document.getElementById("yourEmail");
var yourPassword = document.getElementById("yourPassword");
var yourWarningLabel = document.getElementById("yourWarningLabel");    

yourForm.onsubmit = function() {
    if (yourEmail.value == "" || yourPassword.value == "") { //Check if the fields have something in them
        yourWarningLabel.innerHTML = "Please Insert Email and Password";
        return false;
    } else return (userValid(yourEmail.value) && passValid(yourPassword.value));
};

yourWarningLabel是{​​{1}},<p>或其他用于显示警告的文字标记。

双管<label>代表||运算符,这意味着如果电子邮件为空或密码为空,我们应该显示警告。

双&符号OR代表&&运算符,这意味着如果电子邮件通过并且密码通过了检查,那么我们返回true并提交表单,否则返回false。

除此之外,您还应检查并清除服务器端或使用输入的页面中的输入。