JQuery EMAIL Validator -> просто электронная почта - PullRequest
0 голосов
/ 26 июня 2011

Я ищу валидатор электронной почты jquery -> простой и полный без использования регулярных выражений!
я нашел мощную библиотеку, как показано ниже:
bassistance jquery-plugin-validatio
но эта библиотека имеет много ненужных функций для меня!
кроме того, мне просто нужна функция, чтобы передать ей txtemail и проверить, является ли она истинной или ложной.
Как я могу сделать это с этим плагином?
мои коды aspx как ниже:

<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.6.1.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery.validate.min.js" type="text/javascript"></script>
    <script type="text/javascript">

        $().ready(function () {
            $("#commentForm").validate();
        });
    </script>
    <style type="text/css">
        #commentForm
        {
            width: 500px;
        }
    </style>
</head>
<body>
    <form runat="server" id="commentForm">
    <fieldset>
        <legend>Please provide your email address</legend>
        <p>
            <label for="cemail">
                E-Mail (required)</label>
            <asp:TextBox ID="TextBox1" runat="server" CssClass="required email"></asp:TextBox>
        </p>
    </fieldset>
    </form>
</body>
</html>

или

Буду рад представить мне функцию в jquery, которая принимает строку электронной почты и возвращает значение true или false!

я знаю, что в stackoverflow есть несколько дублирующих потоков об этой проблеме, но одна из них об этом плагине, а другая об использовании RegEx (есть ли RegEx Trustable и совместима ли браузер?)

заранее спасибо

1 Ответ

1 голос
/ 27 июня 2011

Вы можете использовать установленное регулярное выражение для проверки адресов электронной почты.Если вы хотите выполнить простую проверку без плагина jQuery validate, вы можете поместить проверку в форму submit обработчик событий

$(function () {

    // regex from http://fightingforalostcause.net/misc/2006/compare-email-regex.php
    var emailRegex = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;

    // capture the field to test
    var textBoxToTest = $('input.required.email');

    // set up a submit event handler
    $('#commentForm').submit(function () {

        return emailRegex.test(textBoxToTest.val()); 

    });

});

Если значение поля ввода не совпадает с шаблоном регулярных выражений электронной почты, то .test() call вернет false, что отменит действие по умолчанию <form> (то есть предотвратит его отправку), а также предотвратит дальнейшее всплывающее событие вверх по дереву DOM.

Теперь вы также можете поставить его точкус плагином validate путем создания валидатора с использованием регулярного выражения и настройки его для поля, а затем позволяя плагину validate позаботиться о том, чтобы форма не отправлялась, когда поле недопустимо.Однако я вижу, что вы используете веб-формы ASP.NET, поэтому я бы предложил использовать элемент управления RegularExpressionValidator.Что-то вроде

<head runat="server">
    <title></title>
    <style type="text/css">
        #commentForm
        {
            width: 500px;
        }
    </style>
</head>
<body>
    <form runat="server" id="commentForm">
    <fieldset>
        <legend>Please provide your email address</legend>
        <p>
            <label for="cemail">
                E-Mail (required)</label>
            <asp:TextBox ID="TextBox1" runat="server" CssClass="required email"></asp:TextBox>
            <asp:RegularExpressionValidator 
                 ID="regexpName" runat="server"     
                 ErrorMessage="Please enter a valid email address" 
                 ControlToValidate="TextBox1"     
                 ValidationExpression="/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i"
                 EnableClientScript="true" />
        </p>
    </fieldset>
    </form>
</body>
</html>

Элемент управления позаботится как о проверке на стороне клиента, так и на стороне сервера (вы всегда всегда тоже хотите проверить проверку на стороне сервера), так что это может быть самый простой вариантдля вас, или вы можете использовать плагин проверки для клиентской стороны в сочетании с элементом управления CustomValidator для реализации проверки на стороне сервера.

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