Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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
一个onclick中的两个函数-Javascript_Javascript_Regex_Validation - Fatal编程技术网

一个onclick中的两个函数-Javascript

一个onclick中的两个函数-Javascript,javascript,regex,validation,Javascript,Regex,Validation,我试图同时执行两个函数来验证在线表单。第一种形式工作正常,但第二种形式未被执行。有人能指出我的代码有什么问题吗 function both(){ validation(); regex(); } function validation(){ var valid = true; var error = []; if (document.check_in.forename.value == ""){ error.push("First Na

我试图同时执行两个函数来验证在线表单。第一种形式工作正常,但第二种形式未被执行。有人能指出我的代码有什么问题吗

function both(){
    validation();
    regex();
}

function validation(){
    var valid = true;
    var error = [];

    if (document.check_in.forename.value == ""){
        error.push("First Name");
        valid = false;
    }
    if (document.check_in.surname.value == ""){
        error.push("Surname");
        valid = false;
}
    if (valid == false) {
        alert("Please fill in the following fields:\n" + error.join("\n") + ".");
    }
    return valid;
}

function regex(){
    var fnameRE = /^[a-zA-Z]+$/;
var valid_reg = true; 
    var error_reg = [];

    if (!fnameRE.test(document.check_in.forname.value)) {
        error_reg.push("Please use characters only in First Name field.");
        valid_reg = false;
    }   
    else if (valid_reg == false) {
        alert("Please fill s:\n" + error_reg.join("\n") + ".");
    }
    return valid_reg;
}
和HTML:

<form name="check_in" method="POST" action="form.html" onSubmit="return both()"> 

我想你需要这样的东西

function both(){
    return (validation() && regex())
}

这样,只有当两个函数都通过验证时,“两者”才会返回
true
。否则它将返回
false

我认为您需要类似

function both(){
    return (validation() && regex())
}

这样,只有当两个函数都通过验证时,“两者”才会返回
true
。否则它将返回
false

我认为您需要类似

function both(){
    return (validation() && regex())
}

这样,只有当两个函数都通过验证时,“两者”才会返回
true
。否则它将返回
false

我认为您需要类似

function both(){
    return (validation() && regex())
}

这样,只有当两个函数都通过验证时,“两者”才会返回
true
。否则它将返回
false

我不确定,但可能就是这样……您正在调用两个函数,其中都包含return语句,一旦它遇到第一个return语句,代码执行就会结束。您是否尝试在
regex()
函数中添加警报?你能试试看,证明我的陈述是对的/错的吗

您的解决方法:

function both(){
    var valid = validation();
    var regexvalid = regex();

    if(valid && regexvalid)
          return true;
    else
          return false;
}

我不确定,但可能就是这样……您正在调用两个函数,两个函数中都有return语句,当它遇到第一个return语句时,代码执行就结束了。您是否尝试在
regex()
函数中添加警报?你能试试看,证明我的陈述是对的/错的吗

您的解决方法:

function both(){
    var valid = validation();
    var regexvalid = regex();

    if(valid && regexvalid)
          return true;
    else
          return false;
}

我不确定,但可能就是这样……您正在调用两个函数,两个函数中都有return语句,当它遇到第一个return语句时,代码执行就结束了。您是否尝试在
regex()
函数中添加警报?你能试试看,证明我的陈述是对的/错的吗

您的解决方法:

function both(){
    var valid = validation();
    var regexvalid = regex();

    if(valid && regexvalid)
          return true;
    else
          return false;
}

我不确定,但可能就是这样……您正在调用两个函数,两个函数中都有return语句,当它遇到第一个return语句时,代码执行就结束了。您是否尝试在
regex()
函数中添加警报?你能试试看,证明我的陈述是对的/错的吗

您的解决方法:

function both(){
    var valid = validation();
    var regexvalid = regex();

    if(valid && regexvalid)
          return true;
    else
          return false;
}