Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Input для телефона (https://javascript.ru/forum/dom-window/74738-input-dlya-telefona.html)

ekad 05.08.2018 07:09

Input для телефона
 
Здравствуйте.
Например есть Input

есть такие данные:

7
380

нужно при вводе цифр в поле, чтобы первые три цифры сравнивались с данными, то есть при вводе первой цифры идет сравнение с данными, если нет совпадений ничего не происходит, вводиться вторая цифра, и так до 3 цифры. Если совпадения не находятся, то больше трех цифр в поле ввести нельзя.

Если совпадение есть, например ввел 7, то в поле input после введенной цифры 7 появляются скобки, которые захватывают последующие введенные три цифры от всех остальных.


После найденного совпадения так же устанавливается количество введенных цифр в поле. Для 7 например это 10 цифр, для 380 это 9 цифр

Strongman 05.08.2018 20:21

Может быть попробовать событие onchage="JavaScriptFunction()". Кто как думает?

j0hnik 06.08.2018 02:49

<select id="pref">
		<option>380</option>
		<option>7</option>
	</select>
<input type="text" id="num">
	<script>
repl=()=>num.value = num.value.replace(/\D/g, '').replace(/\d{9,}/g, m=>m.slice(0,9+pref.selectedIndex));
num.oninput = repl;
pref.onchange = repl;
	</script>


Часовой пояс GMT +3, время: 05:10.