Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.12.2017, 14:16
Интересующийся
Отправить личное сообщение для sasha3611 Посмотреть профиль Найти все сообщения от sasha3611
 
Регистрация: 07.11.2017
Сообщений: 10

Помогите пожалуйста сократить код Jqury
Как можно сократить или модернизировать код подскажите пожалуйста.

$(document).ready(function () {
    var name = $('.name');
    var login = $('.login');
    var mail = $('.email');
    var pass = $('.pass');
    var pass2 = $('.pass2');
    var pattern = /^[a-z0-9_-]+@[a-z0-9-]+\.[a-z]{2,6}$/i;
    name.blur(function () {
        if(name.val() == '') {
            name.css({'border-bottom-color': 'red'});
        }
    });
    login.blur(function () {
        if(login.val() == '') {
            login.css({'border-bottom-color': 'red'});
        }
    });
    mail.blur(function () {
        if(mail.val() == '') {
            mail.css({'border-bottom-color': 'red'});
        }
    });
    name.keyup(function () {
        if(name.val().search(/^[a-zA-Zа-яА-ЯёЁ'][a-zA-Z-а-яА-ЯёЁ' ]+[a-zA-Zа-яА-ЯёЁ']?$/) == 0) {
            if(name.val().length >= 20) {
                name.css({'border-bottom-color': 'red'});   
            }else{
                $('.name_user').html(name.val());
                name.css({'border-bottom-color': 'green'});
            }
        }else{name.css({'border-bottom-color': 'red'});}
    });
    login.keyup(function () {

        if(login.val().search(/^[A-z0-9]{3,16}$/) == 0) {

            $.post("php/login_reg.php", {
                user_login: login.val()
            }, function (data) {
                if(data == 'no') {
                    alert("Логин занят !");
                    login.css({'border-bottom-color': 'red'});
                }else{
                    $('.name_login').html(login.val());
                    login.css({'border-bottom-color': 'green'});
                }
            });
        }else{login.css({'border-bottom-color': 'red'});}
    });
    mail.keyup(function () {
        mail.css({'border-bottom-color': '#D1D1D1'});
        if(mail.val().search(pattern) == 0) {
            $.post("php/mail_reg.php", {
                user_mail: mail.val()
            }, function (data) {
                if(data == 'no') {
                    alert("Mail уже существует !");
                    mail.css({'border-bottom-color': 'red'});
                }else{
                    mail.css({'border-bottom-color': 'green'});
                }
            });
        }else{
            mail.css({'border-bottom-color': 'red'});
        }
    });
    pass.blur(function () {
        if(pass.val() == '') {
            pass.css({'border-bottom-color': 'red'});
        }else{pass.css({'border-bottom-color': 'green'});}
    });
    pass2.keyup(function () {
        if(pass.val() == pass2.val()) {
            pass2.css({'border-bottom-color': 'green'});}
    });
    pass2.blur(function () {
        if(pass2.val() == '') {pass2.css({'border-bottom-color': 'red'});
        }else if(pass.val() != pass2.val()) {pass2.css({'border-bottom-color': 'red'});
        }else{pass2.css({'border-bottom-color': 'green'});}
    });
    $('.btn-reg').on('click', function () {
        if($('#checkbox').prop('checked')) {alert("Ajax соединение...");
        }else{alert("Флажок не установлен");}
    });
});

Последний раз редактировалось sasha3611, 26.12.2017 в 14:19.
Ответить с цитированием
  #2 (permalink)  
Старый 26.12.2017, 14:18
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 26.12.2017, 14:31
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Валидацию обязательно нужно на сервере производить.

$(function() {
    // регулярки не проверял, но похоже они какие-то кривоватые...
    $('.name,.login,.email,.pass,.pass').on('blur keyup', function() {
        var $this = $(this),
            valid = !!this.value.trim().length;

        if (!valid)
            return $this.css('border-bottom-color', 'red');

        switch (this.className) {
            case 'name':
                valid = ($this.val().search(/^[a-zA-Zа-яА-ЯёЁ'][a-zA-Z-а-яА-ЯёЁ' ]+[a-zA-Zа-яА-ЯёЁ']?$/) == 0 && $this.val().length < 20)

                break;
            case 'login':
                if (!(valid = $this.val().search(/^[A-z0-9]{3,16}$/) == 0))
                    break;

                $.post("php/login_reg.php", {
                    user_login: $this.val()
                }, function(data) {
                    valid = data != 'no';

                    if (!valid)
                        alert("Логин занят !");
                    else
                        $('.name_login').html($this.val());

                    login.css('border-bottom-color', valid ? 'green' : 'red');
                });

                break;

                /* и т.п. */
        };

        $this.css('border-bottom-color', valid ? 'green' : 'red');
    });

    $('.btn-reg').on('click', function() {
        if ($('#checkbox').prop('checked')) {
            alert("Ajax соединение...");
        } else {
            alert("Флажок не установлен");
        }
    });
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Люди помогите добавить код гугл аналитикс sanchez087 Общие вопросы Javascript 2 11.03.2015 16:51
Помогите поправить код JavaScript на сайте karvor AJAX и COMET 1 08.02.2015 13:13
Ребята проверьте пожалуйста .js код Alenka1990 Общие вопросы Javascript 1 16.03.2013 12:34
Как можно сократить код? allanmiln Events/DOM/Window 2 08.02.2013 14:41
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44