Задать вопрос
@vadim_sverdlik
Начинающий разраб

Как правильно написать условие скрипта?

У меня есть рабочая форма(самописная).Валидацию обеспечивает джаваскрипт. До того уже работала валидация насчет пустых полей, теперь мне нужно добавить еще одну проверку на количество символов (цифр телефона) ,чтобы пропускал только с 9 цифрами и не менее, а так же чтобы пропускал и буквы с цифрами, то есть если будет 9 цифр телефона и надпись с буквами,то нужно пропустить и буквы.Так же хочу отметить,что номер телефона можно пропускать в любом формате т.е +380676776767 или +3(8067)6776767 или +3-8067-677-67-67.Т.е нужно посчитать символы и чтобы считались только цифры но не скобки и черточки
Прикрепляю куски кода,которые обеспечивают валидацию на пустые поля:

var form = document.getElementById('myform_3');
var nameField = form.querySelector('#inpname');
var phoneField = form.querySelector('#inphone');
var emailField = form.querySelector('#inpemail');
var quantityField = form.querySelector('#inpquantity');

if(!nameField.value) {
var error_name = document.createElement('p');
error_name.className = 'error-cform';
error_name.innerHTML = 'Введите пожалуйста имя';
error_name.style.color = 'red';
error_name.style.marginBottom = 0;
error_name.style.paddingBottom = 0;
insertAfter(error_name, nameField);
return false;
}

if(!phoneField.value) {
var error_phone = document.createElement('p');
error_phone.className = 'error-cform';
error_phone.innerHTML = 'Введите пожалуйста телефон';
error_phone.style.color = 'red';
error_phone.style.marginBottom = 0;
error_phone.style.paddingBottom = 0;
insertAfter(error_phone, phoneField);
return false;
}
Есть мысли зделать так newstr = phoneField.replace('/([^0-9]*)/',''); ,но не выходит чтоб с этим скрипт работал,Помогите сделать
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Не меньше девяти цифр в строке: (?:\d.*){9,}
https://regex101.com/r/OJYnlE/1
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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