Skip to content

Instantly share code, notes, and snippets.

@beshur
Created October 16, 2012 08:42
Show Gist options
  • Save beshur/3898084 to your computer and use it in GitHub Desktop.
Save beshur/3898084 to your computer and use it in GitHub Desktop.
jQuery registration form validation
$("form.popup [data-validate]").blur(function (e) {
var dv = $(this).attr("data-validate");
if ( $(this).hasClass("error") ) var err_set = true;
var error = 0;
var c = $(this).val();
if ( dv == "email" ) {
var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if ( reg.test(c) != true) {
if (err_set != true) {
$(this).addClass("error").after("<div class='error_text'>Адресс e-mail введено неверно.</div>");
error++;
}
} else {
$(this).removeClass("error").next('.error_text').remove();
}
} else if (dv == "text") {
var reg = new RegExp("[0-9]{1,}");
if ( reg.test(c) == true) {
if (err_set != true) {
$(this).addClass("error").after("<div class='error_text'>Поле не должно содержать цифр.</div>");
error++;
}
} else if (c == '') {
if (err_set != true) {
$(this).addClass("error").after("<div class='error_text'>Поле не должно быть пустым.</div>");
error++;
}
} else {
$(this).removeClass("error").next('.error_text').remove();
}
} else if (dv == "full") {
if ($(this).val() == '') {
if (err_set != true) {
$(this).addClass("error").after("<div class='error_text'>Поле не должно быть пустым.</div>");
error++;
}
} else {
$(this).removeClass("error").next('.error_text').remove();
}
if ( $(this).attr("id") == "reg_repass") {
if ( $(this).val() != $("#reg_PASSWORD").val() ) {
if ($(this).hasClass("error")) {
$(this).next(".error_text").append("<br />Пароли не совпадают.");
} else {
$(this).addClass("error").after("<div class='error_text'>Пароли не совпадают.</div>");
error++;
}
} else {
if ($(this).val() != '') {
$(this).removeClass("error").next('.error_text').remove();
}
}
}
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment