Как проверить, является ли введенный текст (в формате html) действительным номером телефона, когда пользователь набирает 11-й номер?

#javascript #html #jquery #regex

Вопрос:

У меня есть свой вклад.

 <input id="phoneNumber"/>
 

Как я могу проверить, является ли введенное значение от пользователя действительным номером телефона или нет, используя jQuery ?

Спасибо.

Комментарии:

1. Используя некоторый код и предоставляя некоторый код, чтобы узнать, как далеко вы зашли и столкнулись с проблемой

2. Вы можете сделать это непосредственно внутри своего входного тега, что-то вроде этого. « <input name=»phoneNum» id=»phoneNum» maxlength=»11″ type=»tel»> Кол-во символов: <span id=»phoneNumCounter»>5</span> ` ` , а затем просто использовать команду проверки с JS. Следуя этой логике, если все входные данные имеют свои требования, то кнопка доступна для нажатия, иначе это н е так. Желаю удачи

3. @TomasMota это полезно, когда у вас есть кнопка отправки, но не в моем случае

4. Тогда вам не нужна эта логика. Просто добавьте это в свой входной тег, и он должен делать то, что вы хотите, верно? Или это не то, что вы искали?

5. @TomasMota не это не то, что я ищу, я хочу что-то, что проверяет в то время, когда пользователь вставляет цифры

Ответ №1:

Вы можете использовать oninput его для проверки того, введены ли на входе какие-либо значения или нет.

Когда введено 10-е значение , вы можете использовать a alert , но этого будет недостаточно, потому что после alert этого пользователь все равно сможет ввести больше значений. Поэтому используйте maxlength="10" , чтобы разрешить только 10 номеров.

Также, если вы не хотите разрешать text только числа, чем вы можете использовать .replace(/[^d]/, '') для замены любого не-числа . И покажите, что это не число.

 function validPhone(phoneNum)
//  check for valid phone numbers in the format 999-999-9999
{
  if (phoneNum.value.match(/[^d]/)) {
    phoneNum.value = phoneNum.value.replace(/[^d]/, '')
    document.querySelector("#demo1").innerHTML = "Sorry numbers only";
  } else {
    document.querySelector("#demo1").innerHTML = "";
  }
  var strPhone = phoneNum.value;
  var rePhone = /d{3}-d{3}-d{4}/;

  if (strPhone.length >= 10) {
    phoneNum.select();
    document.querySelector("#demo1").innerHTML ="No more numbers plz, only 10 digits allowed in Phone number.";
  }
  document.querySelector("#demo").innerHTML = strPhone.length;
}; 
 #demo1 {
  color: red;
} 
 <input class="form-control" oninput="validPhone(this)" type="text" name="username" placeholder="Enter Phone number" maxlength="10" id="phoneNumberForForgotPassword" data-val-required="نام کاربری را وارد نمائید.">

<div id="demo1"></div>
<div id="demo"></div>