Javascript消息警报框

Javascript消息警报框,javascript,html,Javascript,Html,我有以下javascript代码: function validate() { var email=document.getElementById('email').value; var emailRegex=/^[a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,6}$/; var emailResult=emailRegex.test(email); alert("email:" +emailResult); } 以及表单标记上的ht

我有以下javascript代码:

function validate()
{

    var email=document.getElementById('email').value;


    var emailRegex=/^[a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,6}$/;
    var emailResult=emailRegex.test(email);
    alert("email:" +emailResult);
}
以及表单标记上的html部分:

<input type="text" id="email" placeholder="EMAIL"><br><br>
<input type="submit" value="REGISTER" id="butt">
每次Regex测试返回false时,我都想打印一条消息,但我不想使用警报框。我该怎么做

表格:

         <form id="registration" onsubmit="validate()">
                <h3>S'ENREGISTRER</h3>
                <label for="button">FULL NAME: </label>
                <small>*</small>
                <input type="text" name="fname" id="fullname" placeholder="FULL NAME"><br><br>
                <label for="button">LAST NAME:</label>
                <small>*</small>
                <input type="text" name="lname" id="lastname" placeholder="LAST NAME"><br><br>
                <label for="button">USERNAME:</label>
                <small>*</small>
                <input type="text" name="uname" id="username" placeholder="USERNAME"><br><br>
                <label for="button">PASSWORD:</label>
                <small>*</small>
                <input type="password" name="pass" id="password" placeholder="PASSWORD"><br><br>
                <label id = "kjo" for="button">EMAIL:</label>
                <small>*</small>
                <input type="text" id="email" placeholder="EMAIL"><br><br>
                <input type="submit" value="REGISTER" id="butt" onclick="validate()">
                <p id="result"></p>
                <br><br>
                <a href="login.html">LOGIN</a>
            </form>

一种可能是添加一个p标记或div、span等,作为显示测试结果的字段

在本例中,我使用了一个p标记。要打印结果,我使用innerText,如下所示:

功能验证{ var email=document.getElementById'email'。值; var emailRegex=/^[a-z0-9.-]+@[a-z0-9.-]+\[a-z]{2,6}$/; var emailResult=emailRegex.testemail; //alertemail:+emailResult; //使用添加的p标记显示结果 document.getElementById'result'。innerText=email:+emailResult; }

正如前面的答案所说,您可以在每个要验证的字段之后插入一个标记来显示结果

对于您在问题中提到的电子邮件,我将显示错误消息的部分写在下面

Element.prototype.remove=函数{ this.parentElement.removeChildthis; }; NodeList.prototype.remove=HTMLCollection.prototype.remove=function{ 对于var i=this.length-1;i>=0;i-{ 如果此[i]&此[i].parentElement{ 此[i].parentElement.removeChildthis[i]; } } }; 函数insertAfternewNode,referenceNode{ referenceNode.parentNode.insertBeforenewNode,referenceNode.nextSibling; } 函数validateevent{ var emailInput=document.getElementByIdemail; var email=emailInput.value; var emailRegex=/^[a-z0-9.-]+@[a-z0-9.-]+\[a-z]{2,6}$/; var emailResult=emailRegex.testemail; 如果!电子邮件结果{ var errorDiv=document.getElementByIderror; 如果{ var div=document.createElementdiv; div.innerHTML=插入有效的电子邮件; div.classList.adderror; div.id=错误; insertAfterdiv,emailInput; emailInput.classList.adderror-input; } 违约事件; }否则{ var errorDiv=document.getElementByIderror; 如果错误div{ errorDiv.remove; emailInput.classList.removeerror-input; } } } .错误{ 颜色:红色; } .错误输入{ 边框:1px纯红; 边界半径:5px; 填充:5px } S'Enregister 全名: * 姓氏: * 用户名: * 密码: * 电邮: *


你是说console.log打印正则表达式的测试?还是希望用户也能看到呢?如果是这样的话,您可以设置一个元素标记,并使用.innerHtml在标记中显示结果,这可能是“非常感谢”的重复。我试过了,但有点问题。事实上,当我在输入一封无效的电子邮件后点击“提交”按钮时,邮件会被打印出来,但它会消失。这怎么可能呢?@Amelia表单通常会将您重定向到使用其action属性指定的页面。你能把你的表格添加到你的问题中吗?我刚刚添加了it@Amelia非常感谢。那么,您想阻止在电子邮件测试为false时提交表单吗?如果电子邮件测试返回false,我想在表单之后打印一条错误消息,但我希望消息保持不变,并给用户再次编写电子邮件的机会。非常感谢。在这一行,我只有一个问题:var errorDiv=document.getElementByIderror;由于html代码中不存在“error”id,您从何处获取该id?我们动态添加该div,并使用该loc div.id=error;添加错误id;。然后我检查该id是否存在以添加新id@是的,非常感谢你!!我可以问你另一个问题吗?是的,如果这是一个简短的问题@amelia如何将我的html注册表单链接到python脚本?