主函数调用较小的函数?

时间:2016-10-19 01:14:59

标签: javascript function

我的javascript有三个独立的功能:

    <script>
        function validateName() {
            var x = document.forms["booking_form"]["firstname"].value;
            if (x == null || x == ""){
                alert("First name is not filled");
                return false;
            }
            var y = document.forms["booking_form"]["lastname"].value;
            if (y == null || y == ""){
                alert("Last name is not filled");
                return false;
            }
            //var z =
                }

        function validateAge(){
            if(document.booking_form.age.value < 18){
                alert("You must be at least 18 years of age");
                return false;}
                else{
                return true;}
                }


            function validateEmail(){
                if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(booking_form.email.value))  
                  {  
                    return (true)  
                  }  
                    alert("You have entered an invalid email address!")  
                    return (false) 
            }
    </script>

如何将这些单独的功能称为一个主要功能?我对Javascript不太满意,所以我很难过:|

2 个答案:

答案 0 :(得分:2)

如果我理解正确(让我知道,如果我不这样做),看起来你想要创建一个调用这些单独函数的函数,并且只有在所有三个验证成功时才返回true。 要做到这一点,您只需使用&&运算符,如下所示:

function validate() {
    return validateAge() && validateName() && validateEmail();
}

此功能将告诉您年龄是否有效且名称是否有效且电子邮件是否有效。

要实现这一点,正如nnnnnn所指出的那样,您必须在return true函数的最后一行validateName;否则,当验证成功时,它将返回undefined

答案 1 :(得分:1)

只需创建一个新功能,然后调用其他人

<script>
    function validateName() {
        var x = document.forms["booking_form"]["firstname"].value;
        if (x == null || x == ""){
            alert("First name is not filled");
            return false;
        }
        var y = document.forms["booking_form"]["lastname"].value;
        if (y == null || y == ""){
            alert("Last name is not filled");
            return false;
        }
        //var z =
            }

    function validateAge(){
        if(document.booking_form.age.value < 18){
            alert("You must be at least 18 years of age");
            return false;}
            else{
            return true;}
            }


        function validateEmail(){
            if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(booking_form.email.value))  
              {  
                return (true)  
              }  
                alert("You have entered an invalid email address!")  
                return (false) 
        }

function globalFunction() {
   validateAge();
   validateName();
   validateEmail();
}
</script>

在此示例中,您需要调用“globalFunction();”

再见