Что не так с этой функцией JavaScript? - PullRequest
0 голосов
/ 27 июля 2010

Я использую следующую функцию проверки электронной почты в javascript regex, но она не работает, почему ....

function IsValidEmail(email) {
    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})(\]?)$/;
    return filter.test(email);
}

function forgetpassword() {
    if (document.getElementById("ctl00_TxtEmailId").value == "") {
        return false;// this condition gets exected so no prob with my txtboxID
    }
    if (document.getElementById("ctl00_TxtEmailId").value != "") {
        return IsValidEmail(document.getElementById("ctl00_TxtEmailId").value);
    }
    return true;
}

Мои неудачные входные данные были test,test@test and also test@test.com

* 1006textbox находится в модальном всплывающем окне facebox .... когда я пытался alert(document.getElementById("ctl00_TxtEmailId").value с каким-то текстом jsadf предупреждение показывалось ни с чем ... Почему?

Ответы [ 2 ]

1 голос
/ 27 июля 2010

Я бы изменил регулярное выражение на что-то вроде

/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/

, и я бы переписал пароль забытия на

function forgetpassword() {
    return IsValidEmail(document.getElementById("ctl00_TxtEmailId").value);
}

Редактировать : завершить функцию

function IsValidEmail(email) {
    var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
    return filter.test(email);
}

IsValidEmail('janus@aaa.bbb') -> true в Chrome / IE8

0 голосов
/ 27 июля 2010

Хотите попробовать это?

/ ^ [a-zA-Z] [\ w .-] [a-zA-Z0-9] @ [a-zA-Z0-9] [\ ш .-] [A-Za-Z0-9]. [A-Za-Z] [A-Za-Z.] * [A-Za-Z] $ /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...