Использование keyup
, как, например, @experimentX, упомянутое - это путь, по которому вы хотите идти б / к, тогда вы будете знать, что у вашего пользователя есть введенное значение. Однако запуск цикла for
будет чрезвычайно дорогостоящим для каждого отдельного события keyup. Вместо этого, поскольку вы уже знаете требуемое значение, вы можете использовать предустановку regexp
для поиска значения:
<input type="text" id="text" value="" />
<script>
$(function () {
var $input = $('#text');
$input.keyup(function (e) {
var regexp = /\[text\:/i,
val = $(this).val();
if (regexp.test(val)) {
console.log('i have it: ', val);
}
});
});
</script>
Вот несколько дополнительных сценариев о том, как вы можете написать regexp
.
- Вы хотите, чтобы строка была в самом начале ввода:
var regexp = /^\[text\:/i;
- Основываясь на приведенном выше, но включите любое количество пробелов перед текстом, который вам действительно нужен:
var regexp = /^\s+?\[text\:/i;