Как выделить часть части текстового поля ввода в HTML с помощью Javascript или JQuery

Я выполняю некоторую форму проверки на свободно вводимом текстовом поле ввода в HTML. Есть ли способ выделить определенные слова или фразы (на основе определенных критериев) во входном текстовом поле с использованием JQuery или JavaScript?

Ответ 1

В текстовом поле ввода ваша единственная возможность выделить только часть текста - это выбор. Вы можете сделать это во всех современных браузерах с помощью текстовых полей selectionStart и selectionEnd свойств или setSelectionRange() (не знаю, почему оба существуют).

Live demo: http://jsfiddle.net/YNr7K/

код:

var input = document.getElementById("textBoxId");
input.value = "Cup of tea";
input.setSelectionRange(0, 3); // Highlights "Cup"
input.focus();

В более старых версиях IE (< 9) вам нужно использовать один из своих утомительных TextRange s. См. этот ответ для функции, которая показывает, как это сделать.