Я использую эту функцию для маскировки телефона и работает почти идеально.
function mask(o, f)
{
v_obj = o;
v_fun = f;
setTimeout("execmask()", 1)
};
function execmask()
{
v_obj.value = v_fun(v_obj.value)
};
function mphone(v){
v=v.replace(/\D/g,"");
v=v.substring(0, 11);
v=v.replace(/^(\d{2})(\d)/g,"(OXX$1) $2");
v=v.replace(/(\d)(\d{4})$/,"$1-$2");
return v;
}
Здесь я запускаю маску в текстовом поле:
<input type="text" id="phone" name="phone" onkeypress="mask(this, mphone);" onblur="mask(this, mphone);" />
Проблема в том, что мне нужно изменить эту часть кода (OXX$1) на (0XX$1).
Текущая ситуация с 9 цифрами: (OXX99) 99999-9999.
Текущая ситуация с 8 цифрами: (OXX99) 9999-9999.
Правильное форматирование, которое мне нужно с 9 цифрами: (0XX99) 99999-9999
Правильное форматирование, которое мне нужно с 8 цифрами: (0XX99) 99999-9999
Количество цифр 8 или 9 по выбору пользователя.
Если я меняю символ «О» на «0», возникает ошибка в маске.
Пожалуйста помоги!
-
только тогда, когдаr.length > 6
, поэтому удаление char за char (backspace) сохранит эту функцию. 07.07.2017