【问题标题】:Form validation for username and Email in java scriptjavascript中用户名和电子邮件的表单验证
【发布时间】:2020-04-15 12:30:13
【问题描述】:

我正在尝试验证我的姓名元素和电子邮件地址元素中的值。 但是下面的代码没有提供正确的验证,我的代码仍然跳转到我的 php 文件,其中输入错误。 有人可以给我一些指导吗?

 var letters = /^[A-Za-z]+$/;
 var mailformat = ^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$;

         if( document.addform.First_name.value.match(letters)) {
             return true;
            }
         else {         
            alert( "Username must have alphabet characters only" );
            document.addform.First_name.focus() ;
            return false;
         }
         if( document.addform.email.value.match(mailformat) ) {
             return true;
             }
        else {   
            alert( "You have entered an invalid email address!" );
            document.addform.email.focus() ;
            return false;
         }

【问题讨论】:

  • 你是如何调用函数的?这段代码甚至在函数中吗?
  • 在正则表达式中验证 HTML 表单中的电子邮件地址不再重要,只需使用 <input type="email" ... /> 代替。
  • 是的,它在一个 JS 函数中,我正在 HTML 中的 onclick 事件上调用函数。感谢第二个提示。我会将输入类型更新为电子邮件。 :)

标签: html forms validation jscript


【解决方案1】:

如果两个条件都满足,则需要返回 true,而不仅仅是其中一个。

function validateFormInput () {
   let yourUsernameRegEx = new RegExp(...);
   let yourMailRegEx = new RegExp(...);

   if (!document.addform.First_name.value.match(yourUsernameRegEx)) {
      // Other code here (alerts, popups, etc.) ...

      return false;
   }

   if (!document.addform.email.value.match(yourMailRegEx)) {
      // Other code here (alerts, popups, etc.) ...

      return false;
   }

   return true;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    相关资源
    最近更新 更多