Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2016, 19:40
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Запрет на ввод символа
Я не полностью понимаю этот код

https://jsfiddle.net/pv6b2LL3/

document.getElementById("target").addEventListener('input', function() { 
	var tmp = document.getElementById("target").value; 
	var arrReplace = ['a', 'b', 'c', 'd', 'e']; 
  
		for (var i = 0; i < arrReplace.length; i++) { 
		tmp = tmp.split( arrReplace[i]).join(''); 
	} 

	document.getElementById("target").value = tmp; 
});


Вот допустим, я ввожу 'a', событие отслеживается, в переменную tmp запоминается
введённое значение.

Потом в цикле, перебирается в заранее сделанный массив
и введённое значение разбивается на массив, в котором значение будет из массива arrReplace и из всего этого получается строка.

Я этого момента не понял.
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2016, 19:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

DivMan,
"test" -> split("e") -> ["t","st"] -> join("") - "tst"
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2016, 00:35
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

...и да, так делать не надо.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2016, 09:11
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Сообщение от Aetae Посмотреть сообщение
...и да, так делать не надо.
Почему так делать не надо?
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2016, 14:47
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Потому что если с одной строкой это ещё- как-то оправдано, то последовательное повторение с несколькими - сильный оверхед, и на больших текстах будет заметно тормозить. Все замены надо делать в один проход.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод только на одном языке Sobsoft Events/DOM/Window 2 05.09.2016 14:35
Запрет на ввод ноля - первым! Фридрих Общие вопросы Javascript 9 06.12.2014 16:54
Запрет на ввод кириллици в форму Эдди Элементы интерфейса 9 28.09.2012 18:49
Запрет на ввод определенных символов в поле TEXT vah-smile (X)HTML/CSS 2 23.07.2011 23:30
Запрет ввода символа Rezet jQuery 5 28.07.2009 10:11