JavaScript 验证电子邮件地址没有响应

javascript validation email address not respond

本文关键字:响应 电子邮件地址 验证 JavaScript      更新时间:2023-09-26

juse 有一个快速的问题,我尝试对电子邮件地址进行验证。 我需要进行验证,例如验证电子邮件地址是否是学校电子邮件(这意味着以 edu 结尾),但我决定从验证普通电子邮件开始,下面的代码是我留下的。

Javascript部分

function ok_Email(email){
    var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+'.[a-zA-Z]{2,4}$/;
    if(filter.test(email)){
        return true;
        window.alert('This is an email')
    }
else{
    return false;
    window.alert('This is not an email')
}
}

网页部分

<form name="myform"
onSubmit="return ok_Email(this);">
<p>
Please enter your email address: <br>
<input type="text" size=40 name="user_email">
<p>
<input type = submit value="Send">
</form>

此代码的问题是当我单击发送屁股时,页面没有更改。正如您在代码中看到的,它应该有一个警报出来,但它没有。我认为问题来自臀部部分,但我不确定......

警报不会显示,因为返回值在警报之前!代码在此时退出,执行后不会执行任何内容。

第二个问题是您正在针对对象测试正则表达式。

"return ok_Email(this);">
                 ^^^^
                  this is the form
 function ok_Email(email){
                   ^^^^^
                   You think it is a string

您需要引用user_email的值。

function ok_Email(form){
    var email = form.user_email.value;

您需要将代码更改为以下内容:

function ok_Email(form.user_email.value){
    var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+'.[a-zA-Z]{2,4}$/;
    if(filter.test(foam.user_email.value)){
        window.alert('This is an email');
        return true;
    }
    else{
      window.alert('This is not an email');
      return false;
    }
}

查看警告框并传递电子邮件字段的值