JavaScript电子邮件验证而不提交

javascript email validation without submitting

本文关键字:提交 验证 电子邮件 JavaScript      更新时间:2023-09-26

我想验证此电子邮件:

<div>
    <div>
        <div  >
            <big><p>please enter an email address IF you wish to
            recieve a link to your results.<p>
            E-mail Address:</big> <input name="recipient"class="upload" type="text"
            />
        <div id="correct">
            &#10004;
        </div>
        <div id="incorrect">
            &#10008;
        </div>
    </div>
</div>
我想

检查电子邮件输入是否有效,如果有效,则显示"正确"div,如果不显示"不正确"div,我想在不提交表单的情况下执行此操作。

谁也帮不上忙? 谢谢

这是一个使用正则表达式来匹配值的函数。

<script language="javascript">
    function checkEmail() {
    var email = document.getElementById('recipient');
    var filter = /^([a-zA-Z0-9_'.'-])+'@(([a-zA-Z0-9'-])+'.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email.value)) {
    alert('Please provide a valid email address');
    email.focus;
    return false;
    document.getElementById('incorrect').style.visibility="visible";
    document.getElementById('correct').style.visibility="hidden";
    }
    else
    {
    document.getElementById('correct').style.visibility="visible";
    document.getElementById('incorrect').style.visibility="hidden";
    }
    }
    </script>

几种基于多个JS框架的客户端验证的替代/插件/解决方案可用。我只引用一个利用jQuery的例子:http://speckyboy.com/2009/12/17/10-useful-jquery-form-validation-techniques-and-tutorials-2/

从这个答案

function validateEmail(email) { 
    var re = /^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|(' ".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA-Z'-0-9]+'.)+[a-zA-Z]{2,}))$/;
    return re.test(email); 
}