плюшки от антона
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.2/inputmask/inputmask.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.2/inputmask/jquery.inputmask.js"></script>
<script>
$( document ).ready(function() {
$( "input[name='phone']" ).inputmask("+7(999)999-99-99");
/*------Валидация формы в контактах--------*/
$('#contact_form').validate({
rules:{
name:{
required: true,
minlength: 3
},
email:{
required: true,
email: true
},
phone: {
requiredPhone: true,
minlengthPhone: 16
},
message:{
required: true,
minlength: 10
}
},
messages: {
name: {
required: 'Поле имя обязательно для заполнения',
minlength: 'длина должна быть более 3 символов'
},
email: {
required: 'Поле имя обязательно для заполнения',
email: 'Введите корректный e-mail'
},
message: {
required: 'Поле имя обязательно для заполнения',
minlength: 'длина должна быть более 10 символов'
},
},
submitHandler: function(form) {
var form = $(form),
submitBtn = form.find('input[type="submit"]'),
str = form.serialize();
submitBtn.attr('disabled','disabled');
$.ajax({
url: '/ajax/contact_form.php',
type: 'POST',
data: str
})
.done(function(msg){
form.find(".msg").html(msg);
});
}
});
});
/*---------------валидатор для телефона---------------*/
$.validator.addMethod("requiredPhone", function(value, element, param) {
value = value.replace('+7 (___) ___ - __ - __');
if ( !this.depend( param, element ) ) {
return "dependency-mismatch";
}
if ( element.nodeName.toLowerCase() === "select" ) {
var val = $( element ).val();
return val && val.length > 0;
}
if ( this.checkable( element ) ) {
return this.getLength( value, element ) > 0;
}
return $.trim( value ).length > 0;
}, "Укажите ваш телефон");
$.validator.addMethod("minlengthPhone", function(value, element, param) {
value = value.replace('+7 (', '');
value = value.replace(') ', '');
value = value.replace(/ - /g, '');
value = value.replace(/_/g, '');
var length = $.isArray( value ) ? value.length : this.getLength( $.trim( value ), element );
return this.optional( element ) || length >= param;
}, "вы ввели некоректный телефон");
</script>