Проверка работоспособности электронной почты с помощью jQuery не работает - PullRequest
0 голосов
/ 04 октября 2011

вот код, я не могу найти ошибку. Фоновые изображения поступают из локального каталога, также как и библиотека jQuery Я проверил пути, и все они в порядке. Как-то что-то не работает и я не могу это выяснить.

<html>
    <head>

        <script type="text/javascript" src="/myform/js/jquery.js"></script>    
        <script type="text/javascript"> 

            function isValidEmailAddress(emailAddress) {
                var pattern = new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);
                return pattern.test(emailAddress);
            }

            $(document).ready(function() {
                 
                $("#validate").keyup(function(){
                    var email = $("#validate").val();
                     
                    if(email != 0)
                    {
                        if(isValidEmailAddress(email))
                        {
                             
                            $("#validEmail").css({ "background-image": "url('/myform/logos/validyes.png')" });
                         
                        } else {
                             
                            $("#validEmail").css({ "background-image": "url('/myform/logos/validno.png')" });
                         
                        }
                     
                    } else {
                         
                        $("#validEmail").css({ "background-image": "none" });
                     
                    }
                });
            });

        </script>
            <style>
            #validEmail
            {
                margin-top: 4px;
                margin-left: 9px;
                position: absolute;
                width: 16px;
                height: 16px;
            }
        </style>
    </head>
    <body>


        <div><input type=”email” id=”validate” width=”50”><span id=”validEmail”></span></div>
    </body>
</html>

Ответы [ 4 ]

1 голос
/ 04 октября 2011

Изменение:

<div><input type=”email” id=”validate” width=”50”><span id=”validEmail”></span></div>

на:

<div><input type="email" id="validate" width="50"><span id="validEmail"></span></div>

Я проверил это, и все в порядке.

1 голос
/ 04 октября 2011

Попробуйте заменить

if(email != 0)

на

if(email.length != 0)
0 голосов
/ 04 октября 2011

Измените глупые кавычки на реальные, добавьте поменять ваше условие на email.length > 0, и тогда вы можете также сократить свой код.Слишком много вещей повторяется.

function isValidEmailAddress(emailAddress) {
  return /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/.test(emailAddress);
}

$(function() {
  $("#validate").keyup(function() {
    var bg = "none";
    var email = $("#validate").val();
    if(email.length > 0) {
      bg = isValidEmailAddress(email) 
           ? "url('/myform/logos/validyes.png')"
           : "url('/myform/logos/validno.png')";
    }
    $("#validEmail").css("background-image", bg);
  });
});
0 голосов
/ 04 октября 2011

Я сделал ваш код работающим. В основном ваш тег ввода был неверным. Ваш входной тег был

   <input type=”email” id=”validate” width=”50”><span id=”validEmail”></span>

я изменил это на

<input type="email" id="validate" width="50" /><span id="validEmail" ></span>

Вот рабочий код.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

   <script type="text/javascript" src="JS/jquery-1.3.2.min.js"></script>
    <script type="text/javascript"> 

        function isValidEmailAddress(emailAddress) {
            var pattern = new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);

            return pattern.test(emailAddress);
        }

        $(document).ready(function() {

            $("#validate").keyup(function(){
                var email = $("#validate").val();

                if(email != 0)
                {
                    if(isValidEmailAddress(email))
                    {
                         alert('Valid Email');
                      //  $("#validEmail").css({ "background-image": "url('/myform/logos/validyes.png')" });

                    } else {

                         alert('InValid Email');
                      //  $("#validEmail").css({ "background-image": "url('/myform/logos/validno.png')" });

                    }

                } else {

                    $("#validEmail").css({ "background-image": "none" });

                }
            });
        });

    </script>
        <style>
        #validEmail
        {
            margin-top: 4px;
            margin-left: 9px;
            position: absolute;
            width: 16px;
            height: 16px;
        }
    </style>
</head>
<body>


    <div><input type="email" id="validate" width="50"><span id="validEmail" /></span></div>
</body>
</html>

и еще одна вещь. Не проверяйте проверку электронной почты при событии keyup. Угадайте проверку в случае размытия.

...