У меня есть поле, как показано ниже
Введенный текст зафиксирован на 11 ди git.
Сейчас, когда фокус Я хочу, чтобы текст ввода был изменен, как показано ниже:
123-456-789-01
как мне добиться этого, используя Jquery
Кто-нибудь может направить меня
Вы можете использовать регулярное выражение ниже, чтобы отформатировать ваш телефон phone = phone.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1-$2-$3-$4"); и установить maxlength = 11
phone = phone.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1-$2-$3-$4");
maxlength
$('#phone').focusout(function() { function phoneFormat() { phone = phone.replace(/[^0-9]/g, ''); phone = phone.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1-$2-$3-$4"); return phone; } var phone = $(this).val(); phone = phoneFormat(phone); $(this).val(phone); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <input type="text" value="" id="phone" maxlength="11" />