Помогите пожалуйста сократить код 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("Флажок не установлен");} }); }); |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Валидацию обязательно нужно на сервере производить.
$(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("Флажок не установлен"); } }); }); |
Часовой пояс GMT +3, время: 08:45. |