Несколько регулярных выражений проверки электронной почты с точкой с запятой в JavaScript - PullRequest
0 голосов
/ 04 июня 2019

Регулярное выражение для нескольких проверок электронной почты с точкой с запятой в Javascript

Это может разрешить множественные электронные письма и разрешить точку с запятой после идентификатора электронной почты.Если указан только один идентификатор электронной почты, он может разрешить с точкой с запятой или без нее.

Я попробовал следующий код:

<script type = "text/javascript" >
    function myFunction() {
        var email = document.getElementById("email").value;
        var reg = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-\.]+)+([;]([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-\.]+))*$/;
        if (reg.test(email) == false) {
            alert("Entered email id is not valid")
            return false;
        } else {
            alert("Entered email id is valid")
            return true;
        }
    } 
</script> 

1 Ответ

0 голосов
/ 04 июня 2019

Попробуйте этот подход.

Он разбивает список адресов электронной почты на отдельные адреса и проходит по всем из них.Кроме того, он использует значительно упрощенное регулярное выражение для проверки подлинности электронной почты.

Кроме того, проверка правильности одного сообщения в списке должна быть более надежной, это только пример.

var email = document.getElementById("email").value;
console.log("Are emails valid: " + checkEmailValidity(email));

function checkEmailValidity(emailList) {
    var reg = /^.+?@.+?\.\w{2,}$/i;
    var emailArr;

    if (emailList.indexOf(";") < emailList.indexOf("@")) {
        //assume only one email address on the list
        emailArr = [emailList];
    } else {
        emailArr = emailList.split(";")
    }

    var isValid = true;
    emailArr.forEach(function(addr) {
        if (reg.test(addr) === false) {
            console.log("One of the emails is not valid: " + addr);
            isValid = false;
        }
    })
    return isValid;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...