2

我想确保访问者输入了有效的电子邮件地址和密码。如果是,则淡入提交按钮。否则将其淡出(保持隐藏)。

如何添加功能以确保存在 @ 字符以及 . emailLen 字符串中的字符?

var emailLen = $("#email").val().length
var pwordLen = $("#pword").val().length

    if (emailLen > 7 && pwordLen > 5) {
        $('#btnSubmit').animate({ opacity: 1.0 }, 200);
    }
    else {
        $('#btnSubmit').animate({ opacity: 0.0 }, 200);
    }

谢谢

4

2 回答 2

2

使用正则表达式验证电子邮件地址:

var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var email = $("#email").val();
var pwordLen = $("#pword").val().length;

    if (regex.test(email) && pwordLen > 5) {
        $('#btnSubmit').animate({ opacity: 1.0 }, 200);
    }
    else {
        $('#btnSubmit').animate({ opacity: 0.0 }, 200);
    }

regex.test(email)如果它是有效的电子邮件 ID,则返回 true,否则返回 false。

于 2013-03-19T22:04:33.930 回答
1

要直接回答您的问题,您可以检查某些字符是否存在,如下所示:

var email = $("email").val();
var emailLen = email.length;

// important bit:
var hasAt = email.indexOf( "@" ) != -1;
var hasDot = email.indexOf( "." ) != -1;

或者您可以更进一步,至少检查一个 . 在最后一个 @ 之后

var atPos = email.lastIndexOf( "@" );
var hasAt = atPos != -1;
var hasDot = email.indexOf( ".", atPos ) != -1;

OSSCube 给出的答案是更常用的检查邮件地址的方法,但您应该注意不寻常的邮件(例如使用 IP 地址、引号或转义字符的邮件)。我相信这种方法(只是检查[anything]@[anything].[anything])永远不会有误报(如果我错了,请在评论中大喊!)

于 2013-03-19T22:23:44.000 回答