#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>