我的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不太满意,所以我很难过:|
答案 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();”
再见