Маска для поля с телефоном
HTML
<input oninput="data(this)" onfocus="setCursorPosition(1, this)" >
JavaScript
function setCursorPosition(pos, elem) {
elem.focus();
if (elem.setSelectionRange) {
elem.setSelectionRange(pos, pos);
} else if (elem.createTextRange) {
var range = elem.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
function data(el) {
var matrix = "00.00.1990",
i = 0,
val = el.value.replace(/\D/g, '');
matrix = matrix.replace(/\d/g, function (a) {
return val.charAt(i++) || "_"
})
el.value = matrix;
i = matrix.lastIndexOf(val.substr(1));
i < matrix.length && i > 2 ? i++ : (i = 0)
setCursorPosition(i, el)
};
document.querySelector('input').oninput()