-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 に答える