JavaScript
отступ при вводе текста
Нужно чтобы при вводе номера телефона делался автоматически отступ. Например вводят 89991532200, а надо 8 999 153 22 00. Желательно без jquery, так как кода мало и подключать библиотеку для этого не хотелось. Кто знает помогите пожалуйста.
https://www.npmjs.com/package/libphonenumber-js - такую штуку нашел, но мне сложно в нем разбираться...
Если на чистом JS, есть такой вариант: https://jsfiddle.net/OPTlMUS/rqcyau5d/
При вводе каждого числа проверяет - стоят ли пробелы в нужных местах. Если нет - добавляет их. Если "==" означает совпадение двух значений, то "!==" значит "не совпадает". А slice() разрезает строку в указанных местах.
< input id="moo" >
document.getElementById('moo').addEventListener('keyup',function(){
let x = document.getElementById('moo');
if(x.value.slice(1,2) !== ' ' && x.value.length > 1) {
x.value = x.value.slice(0,1) + ' ' + x.value.slice(1,14);
}
if(x.value.slice(5,6) !== ' ' && x.value.length > 5) {
x.value = x.value.slice(0,5) + ' ' + x.value.slice(5,14);
}
if(x.value.slice(9,10) !== ' ' && x.value.length > 9) {
x.value = x.value.slice(0,9) + ' ' + x.value.slice(9,14);
}
if(x.value.slice(12,13) !== ' ' && x.value.length > 12) {
x.value = x.value.slice(0,12) + ' ' + x.value.slice(12,14);
}
});
___________________
Одновременно условия && x.value.length > 1
Нужны, чтобы в случае удаления введенного числа - оно повторно не проверяло, есть ли там пробел, и не добавляла новый.
Если на чистом JS, есть такой вариант: https://jsfiddle.net/OPTlMUS/rqcyau5d/
При вводе каждого числа проверяет - стоят ли пробелы в нужных местах. Если нет - добавляет их. Если "==" означает совпадение двух значений, то "!==" значит "не совпадает". А slice() разрезает строку в указанных местах.
< input id="moo" >
document.getElementById('moo').addEventListener('keyup',function(){
let x = document.getElementById('moo');
if(x.value.slice(1,2) !== ' ' && x.value.length > 1) {
x.value = x.value.slice(0,1) + ' ' + x.value.slice(1,14);
}
if(x.value.slice(5,6) !== ' ' && x.value.length > 5) {
x.value = x.value.slice(0,5) + ' ' + x.value.slice(5,14);
}
if(x.value.slice(9,10) !== ' ' && x.value.length > 9) {
x.value = x.value.slice(0,9) + ' ' + x.value.slice(9,14);
}
if(x.value.slice(12,13) !== ' ' && x.value.length > 12) {
x.value = x.value.slice(0,12) + ' ' + x.value.slice(12,14);
}
});
___________________
Одновременно условия && x.value.length > 1
Нужны, чтобы в случае удаления введенного числа - оно повторно не проверяло, есть ли там пробел, и не добавляла новый.
Помочь С ЧЕМ, где код твоей попытки решить эту задачку?
(это решается в одну строку, так что не надорвешься если попробуешь)
(это решается в одну строку, так что не надорвешься если попробуешь)
Библиотеки на то и существуют, чтоб их подключать и не совершать лишней работы. Не бойтесь их подключать - от таких lightweight библиотек никакого ущерба проекту вы не нанесёте.
Похожие вопросы
- Как html-страницу с автозаполнением формы настроить на автоизменение длины каждой строки ввода (input)...?
- Последние штрихи к калькулятору. Запрет кликать мышкой по форме ввода...
- Замена текста на кнопке на сайте
- JavaScript автонабор/автоудаление текста
- Есть ли в js поле ввода? Кроме inputa и prompt
- Помогите решить задачу по js! Программа выводит все заглавные буквы в тексте. Как распределить эти буквы по алфавиту?
- Как обрезать текст при маленьком разрешении вставив между многоточие ...
- Интересный вопрос: У кого-то получиться скопировать текст из следующей страницы:
- Как с помощью js придать в тексте конкретной букве или знаку стили
- Шифровальщик текста на js