Javascript маска телефона с игнорированием 8 и +7 вначале номера

07.01.2023

Простая задача, если пользователь заполняет номер телефона, то он может начать вводить как +7, так и 8 и некоторых людей совершенно не смущает подсказка +7:

pic1

В моем случаи использовался плагин imask, но в его документации готового решения не нашел, но в итоге удалось решить проблему исправлением кода:

 
let element = document.getElementById('form_phone');
let maskOptions = {
	mask: '+{7}(000) 000-00-00'
};
IMask(element, maskOptions);

на:

 
let element = document.getElementById('form_phone');
let maskOptions = {
	mask: '+{7}(#00) 000-00-00',

	definitions: {
		'#': /[01234569]/
	},
	lazy: false,
	placeholderChar: ' '
};
IMask(element, maskOptions);

Но есть минус, теперь нельзя вводить номера у которых символ, после +7 или 8, это 7 или 8.


Категории: JavaScript
Яндекс.Метрика