Javascript.RU

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

Как в регулярном выражении использовать переменную?
Здрасти, надо в регулярке использовать переменную, вот код:
function autoComplete(el) {
	var val = $(el).val().toString();
	var output = '';
    var re = '/' + val '/i';
	for (i = 0; i < data.length; i++) {
		if (data[i].fs.match(re))) {
			output += data[i].fs;
		}
	}
}

код не работает, работает только если в регулярке нет переменной, то есть если она в виде: var re = /value/;. Помогите пожалуйста
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2011, 14:23
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

var re = new RegExp(val, 'i');
Ответить с цитированием
  #3 (permalink)  
Старый 23.08.2011, 14:26
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от avaVusal
работает только если в регулярке нет переменной, то есть если она в виде: var re = /value/;
Что? Хотите сказать, что так: var re = '/lalala/'; работает? Это Ваш код в случае отсутствия переменных.
Ответить с цитированием
  #4 (permalink)  
Старый 23.08.2011, 14:28
Интересующийся
Отправить личное сообщение для avaVusal Посмотреть профиль Найти все сообщения от avaVusal
 
Регистрация: 11.01.2011
Сообщений: 27

ДА )
Ответить с цитированием
  #5 (permalink)  
Старый 23.08.2011, 14:32
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

var re = '/lalala/';
alert('lalala'.match(re));
И где?
Ответить с цитированием
  #6 (permalink)  
Старый 23.08.2011, 14:51
Интересующийся
Отправить личное сообщение для avaVusal Посмотреть профиль Найти все сообщения от avaVusal
 
Регистрация: 11.01.2011
Сообщений: 27

var re = /lalala/i;
alert('lalala'.match(re));
я ошибся )
Ответить с цитированием
  #7 (permalink)  
Старый 23.08.2011, 14:59
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от avaVusal
надо в регулярке использовать переменную
.match(RegExp(переменная));
Ответить с цитированием
  #8 (permalink)  
Старый 23.08.2011, 15:07
Интересующийся
Отправить личное сообщение для avaVusal Посмотреть профиль Найти все сообщения от avaVusal
 
Регистрация: 11.01.2011
Сообщений: 27

спасибо всем, написал var re = new RegExp(val, 'i');, заработало
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать 2 локальные переменные? 9xakep Общие вопросы Javascript 2 26.07.2011 17:53
Как в iframe использовать onkeyup Joshka Элементы интерфейса 19 13.07.2011 19:08
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 03:33
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58