Проверка телефона

Здравствуйте, помогите пожалуйста сделать проверку телефона на 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";
                    },
                });
            }

        });

    });

Покажи код, что пробовал делать?


Какие критерии проверки телефона? Потому что в общем виде задача “сказать что это телефон” очень большая с кучей нюансов.

Можно, например, проверить что

  1. Поле с телефоном не пустое
  2. И длина не менее 10 символов
  3. И все символы - цифры.

Код к содалению не скину, тот что прикрепил он так и остался, нужно чтобы +375 (99) 999 99 99 вот в таком формате был и все. Пробовал создавать переменную с регуляркой и проверять значение в инпуте на сооьветствие регуляркой, но что то видимо не так делал.

Вот хорошее поле для экспериментов с регулярками https://regex101.com/ Там же есть целая библиотека готовых регулярок под самые разные нужды.

Пользователя фиг заставишь вводить все пробелы-скобочки. Регуляркой проверить строку +375 (99) 999 99 99 не сложно. Но пользоваться таким инпутом будет невозможно.

Этот код и был бы интересен. Чтобы подсказать по нему а не давать готовое решение.

Вот регулярка, которая дословно говорит
“+ потом 3 цифры, потом пробел, потом открывающаяся скобка … итд”


Удобный, как я считаю, для пользователя вариант при вводе в инпут находить все числовые символы, игнорировать все остальные. Цифры форматировать в ожидаемом виде и заменять значение инпута.

Оно то может и не заставишь, но я видел есть такое как например в inputmask, где все подставляется автоматом, а человек вводит только цмфры. Но не это важно, а важно то на jq не могу правильно написать условие проверки.
На js как то так я полагаю

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;

}

https://jsbin.com/wivelilugi/1/edit?html,js,output Твой код с регуляркой @dmitry работает. Что ты подразумеваешь под условием проверки на джквери? Условие таким и останется, можно использовать методы джквери, смысл от этого не поменяется.