为什么我的电子邮件验证脚本无法识别?

时间:2021-03-13 13:25:55

标签: javascript html forms validation

嘿,我真的是 HTML 和 Javascript 的新手。我今天有一个任务来编写电子邮件验证脚本。我认为我的脚本应该没问题,但由于某种原因,当我点击提交按钮时,网站没有做任何事情。这是我的脚本:

HTML 表单:

        <form class="contact-form" action="contact.html" method="post">
            <input type="text" class="contact-form-text" placeholder="Your name*" value="" id="name">
            <input type="email" class="contact-form-text" placeholder="Your email*" id="email">
            <input type="text" class="contact-form-text" placeholder="Your phone*" id="nummer">
            <textarea class="contact-form-text" placeholder="Your message"></textarea>
            <p id="pflicht">* sind Pflichtfelder</p>
            <input type="button" class="contact-form-btn" value="Send" onclick="multiFunction()">
        </form>

这是我的功能:

  function checkforEM(value){
        var laenge = value.length;//6

        if(value.indexOf("@") > 0){
            alert("@ ist da und nicht ganz vorne");
    }
        else{
            alert("@ ist nicht da oder auf Pos 1");
    }
        // das @ darf nicht am Ende sein
        // Frage: wie finde ich das raus?
        // Ich prüfe, ob der Indexwert von @ == 5 ist
        if(value.indexOf("@") == laenge - 1){ //5
            alert("@ ist am Ende");
    }   
        if(value.substring(value.length-3) == ".de"){
            alert("Ist eine .de-Top-Level-Domain");
    }else{
            alert("Ist keine .de-Top-Level-Domain");
          }
    }

我正在使用一个同时组合多个函数的函数,它看起来像这样:

function multiFunction(){
  checkforBlank();
  checkforNu();
  checkforNa();
  checkforEM(this.value);
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果您使用 input type="email",则电子邮件验证在浏览器内完成,您无需为其编写自己的代码。并要求输入表单字段,请使用 required 属性。

<input type="email" class="contact-form-text" placeholder="Your email*" id="email" required>
相关问题