WD5 - разработка сайтов

Маска ввода для телефонного номера (Россия)

Для решения задачи будет использован плагин maskedinput для jQuery.

Подключение скрипта на странице

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>

Поле ввода на странице

<input type="text" id="phone" />

Скрипт


$("#phone").mask("+7 (999) 999-99-99");

$("#phone").on("blur", function() {
var last = $(this).val().substr( $(this).val().indexOf("-") + 1 );

if( last.length == 5 ) {
var move = $(this).val().substr( $(this).val().indexOf("-") + 1, 1 );

var lastfour = last.substr(1,4);
var first = $(this).val().substr( 0, 9 );

$(this).val( first + move + '-' + lastfour );
}
});

Результат на jsfiddle - http://jsfiddle.net/2mea2r0q/