我已经学会了登录表格,我计划验证两个值(电子邮件和密码)并将其用作条件为真或假。
我有这样的代码
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。
我计划创建验证表单或登录表单,首先检查用户电子邮件&密码在我提交之前有效(比如说给服务器)。
我认为逻辑是这样的:
等等
我的问题是如何用ABOVE创建条件语句,当然还有JAVASCRIPT :)谢谢。
答案 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。
除此之外,您还应检查并清除服务器端或使用输入的页面中的输入。