-1

我正在使用以下代码进行电子邮件验证,取自jQuery By Example

function validateEmail(sEmail) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (filter.test(sEmail)) {
        return true;
    }
    else {
        return false;
    }
}​

如果我在输入有效电子邮件后放置空间,那么它也会给我无效电子邮件。我能为此做些什么?尝试了很多,但没有得到正确的结果。

4

2 回答 2

2

改变

var sEmail = $('#txtEmail').val();

var sEmail = $.trim($('#txtEmail').val());

这应该可以解决问题

于 2013-10-29T13:48:39.043 回答
0

使用此正则表达式代替您正在使用的正则表达式,这有助于您避免输入电子邮件后的空间问题。

/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)(\s+)?$/
于 2013-10-29T14:04:10.860 回答