繁体   English   中英

JavaScript 验证注册表

[英]JavaScript Validation Registration Form

validateForm 函数有效。 并且 validateEmail 函数也可以运行,但需要单独运行。 如何在 validateForm 函数中合并电子邮件的数据验证? 换句话说,当字段为空且不满足要求时,如何让表单返回 false?

  function validateForm() {

     if( document.myForm.userName.value == "" ) {
        alert( "Please provide your name!" );
        document.myForm.userName.focus() ;
        return false;
     }
     if( document.myForm.email.value == "" ) {
        alert( "Please provide your Email!" );
        document.myForm.email.focus() ;
        return false;
     }
     return( true );
  }

 function validateEmail() {
     var emailID = document.myForm.email.value;
     atpos = emailID.indexOf("@");
     dotpos = emailID.lastIndexOf(".");

     if (atpos < 1 || ( dotpos - atpos < 2 )) {
        alert("Please enter correct email ID")
        document.myForm.email.focus() ;
        return false;
     }
     return( true );
  }

您只需要将代码合并到一个函数中

  function validateForm() {

    var emailID = document.myForm.email.value;
    atpos = emailID.indexOf("@");
    dotpos = emailID.lastIndexOf(".");

     if( document.myForm.userName.value == "" ) {
        alert( "Please provide your name!" );
        document.myForm.userName.focus() ;
        return false;
     }
     if( document.myForm.email.value == "" ) {
        alert( "Please provide your Email!" );
        document.myForm.email.focus() ;
        return false;
     }
     if (atpos < 1 || ( dotpos - atpos < 2 )) {
        alert("Please enter correct email ID")
        document.myForm.email.focus() ;
        return false;
     }
     return true;
  }

刚刚在 validateForm 中调用了 validateEmail ,如下所示:

function validateForm() {

 if( document.myForm.userName.value == "" ) {
    alert( "Please provide your name!" );
    document.myForm.userName.focus() ;
    return false;
 }
 if( document.myForm.email.value == "" ) {
    alert( "Please provide your Email!" );
    document.myForm.email.focus() ;
    return false;
 }
 return validateEmail();
}

function validateEmail() {
 var emailID = document.myForm.email.value;
 atpos = emailID.indexOf("@");
 dotpos = emailID.lastIndexOf(".");

 if (atpos < 1 || ( dotpos - atpos < 2 )) {
    alert("Please enter correct email ID")
    document.myForm.email.focus() ;
    return false;
 }
 return( true );
}

或者你可以将这些函数合并成@Addis的类似答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM