@Alonse12

Как проверить форму на ввод телефона?

Здравствуйте, помогите пожалуйста сделать проверку телефона на jquery. Проверку на длину имени сделал, а на телефон не получается.

Вот мой код
$(document).ready(function() {       
$('form#myForm').submit(function(event) {

            event.preventDefault();
            var name = $('#name').val();
            var phone = $('#phone').val();

            if(name.length < 2) {
                alert('error');
            }
            else {
                $.ajax({
                    type: $(this).attr('method'),
                    url: $(this).attr('action'),
                    data: new FormData(this),
                    contentType: false,
                    cache: false,
                    processData: false,
                    success: function(result) {
                        document.location.href = "http://get-remedy/success.php";
                    },
                });
            }
  • Вопрос задан
  • 486 просмотров
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger
System Integrator
function ValidPhone() {
    var re = /^\d[\d\(\)\ -]{4,14}\d$/;
    var myPhone = document.getElementById('phone').value;
    var valid = re.test(myPhone);
    if (valid) output = 'Номер телефона введен правильно!';
    else output = 'Номер телефона введен неправильно!';
    document.getElementById('message').innerHTML = document.getElementById('message').innerHTML+'<br />'+output;
    return valid;
}
Ответ написан
Комментировать
@aftar
$("form#myForm").submit(function(event) {
        event.preventDefault();
        var phone_input = $(this).find("input[type=tel]");
        var phone_number = phone_input.val().replace(/[^0-9]/g,"");

        if (phone_number.length === 0 ) {
            phone_input.notify("Введите номер телефона", {position:"bottom" , className: 'error'})
        }

        if (phone_number.length < 12 && phone_number.length >= 4) {
            phone_input.notify("Номер введён не полностью", {position:"bottom" , className: 'warn', gap: 0, autoHideDelay: 3000});
        }
        if (phone_number.length === 12) {
            var data = $(this).serializeArray();
            data.push ({name: 'href', value: href}); //-можешь добавить дополнительные переменные, например адрес страницы, referer
            data.push ({name: 'ref', value: ref});
            var thisForm = $(this);
            var thisBtn = thisForm.find("button");
            $.ajax({
                url: 'php/mail.php',
                type: 'POST',
                data: data,
                beforeSend: function(data) {
                    thisBtn.notify("Отправка заявки", {position:"bottom center", className: 'info'});
                },
                success: function(data){
                    console.log(data);
                    thisBtn.notify("Заявка принята", {position:"bottom center", className: 'success'});
                    thisForm.trigger("reset");
                },
                error: function(data) {
                    thisBtn.notify("Ошибка на сервере", {position:"bottom center", className: 'error'} );
                    thisForm.trigger("reset");
                }
            });
            return false;
        }
    });

    var href          = window.location.href;
    var ref = document.referrer;

//-notify - красивые уведомления, скачать библиотеку можешь з<a href="https://notifyjs.jpillora.com/"></a>десь, если не нужно просто убери
<img src="https://habrastorage.org/webt/5c/a3/0d/5ca30d6fd6f1f287377378.png" alt="image"/>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы