Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2010, 10:34
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Извлечь значение параметра из location.search регулярным выражением?
Извлечь значение параметра из location.search регулярным выражением?

В location.search параметры командной строки и их значения. Например: "?act=Post&CODE=02&f=9&t=24&qpid=13832". Можно написать функцию которая извлечёт значение нужного параметра. Но лишние функции загромождают скрипт. Может быть можно сделать тоже самое регулярным выражением в одну строку?
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2010, 11:06
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

var params = {};
"?act=Post&CODE=02&f=9&t=24&qpid=13832".replace(/(\w+)=(.+?)(&|$)/g, function (substr, key, value) {
    params[key] = value;
});

alert(params.act);
alert(params.qpid);
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2010, 12:33
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Сообщение от Octane Посмотреть сообщение
var params = {};
"?act=Post&CODE=02&f=9&t=24&qpid=13832".replace(/(\w+)=(.+?)(&|$)/g, function (substr, key, value) {
    params[key] = value;
});

alert(params.act);
alert(params.qpid);
А если у меня строка? "act"
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2010, 12:41
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

не понял, о чем вы
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2010, 16:13
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Допустим пользователь вводит с клавиатуры параметр "act", как найти его значение?
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2010, 16:37
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

var str = "act";

var params = {};
"?act=Post&CODE=02&f=9&t=24&qpid=13832".replace(/(\w+)=(.+?)(&|$)/g, function (substr, key, value) {
    params[key] = value;
});

alert(params[str]);

так чтоли?

Ну или методом match найдите один параметр:
http://javascript.ru/string/match
http://javascript.ru/regexp
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2010, 03:45
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Спасибо.
Ответить с цитированием
  #8 (permalink)  
Старый 25.01.2010, 23:24
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от Octane
params[key] = value
Мне кажется, вернее
params[unescape(key)] = unescape(value)
Ответить с цитированием
  #9 (permalink)  
Старый 26.01.2010, 01:01
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Зачем key unescap'ить? И тогда уже encodeURIComponent. А еще там регулярка только для конкретного случая.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отлов круглых скобок регулярным выражением Kuzya59 Общие вопросы Javascript 2 25.12.2009 13:05