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

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

$(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("Флажок не установлен");
        }
    });
});
Ответить с цитированием