Добрый День! Столкнулся с проблемой ограничения на ввод символов в поле input для номера телефона. Имею скрипт, который позволяет ввести только цифры в данное поле, но есть ли возможность сделать допустимым не только цифры, а символы:
+, - , (space), ()
Заранее спасибо, свой код прикрепил ниже:
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
};
Enter you number:
<input v-model="phone" type="text" maxlength="22" onkeyup="validate(this)" v-validate="'required|alpha_spaces'" data-vv-as="Telefono" onkeypress="return isNumberKey(event)" :class="{'input': true, 'is-danger': errors.has('phone') }">
Ссылайтесь на ASCII таблицу
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode != 32 && charCode != 40 && charCode != 41 && charCode != 43 && charCode != 45 && charCode < 48 || charCode > 57)
return false;
return true;
};
Enter you number:
<input v-model="phone" type="text" maxlength="22" onkeyup="validate(this)" v-validate="'required|alpha_spaces'" data-vv-as="Telefono" onkeypress="return isNumberKey(event)" :class="{'input': true, 'is-danger': errors.has('phone') }">
Возьмите лучше уже готовый для этого плагин maskedinput. По умолчанию он позволяет задавать маски для ввода символы/цифры/символы+цифры, но можно задавать и свои с помощью $.mask.definitions[e] = '[0-9a-zA-Z+-]' и тут уже указываете допустимые символы. А использовать будете в виде $('.mask').mask('+7 (eee) eee-ee-ee') Хотя я для ввода телефона использую просто маску +7 (999) 999-99-99 где на месте 9ок позволяет указывать любые цифры
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости