Аналог GetVars на JavaScript

Разбор GET запроса средствами JavaScript, getVar, getVars

Аналог GetVars на JavaScript

» » Сообщение:

Из строки, при помощи регулярки:

Код: Выделить всё Развернуть
String.prototype.getVar=function(p){var v=this.match(new RegExp('[?|&]?'+p+'=([^&|#]*)'));return(v)?v[1]:false;};

var s='http://likbezz.ru/!~tpl/getScrLink/GetVars.html?test1&test2=var2#var3';
alert(s.getVar('test1')); // false
alert(s.getVar('test2')); // var2
alert(s.getVar('test3')); // false

То же, но циклом:

Код: Выделить всё Развернуть
String.prototype.getVar=function(p){var e=this.split('&');
for(i=0,j=e.length;i<j;i++){if(e[i].split('=')[0]==p){return e[i].split(/[=#]/)[1];}}
return false;
};

var s='http://likbezz.ru/!~tpl/getScrLink/GetVars.html?test1&test2=var2#var3';
alert(s.getVar('test1')); // false
alert(s.getVar('test2')); // var2
alert(s.getVar('test3')); // false

Получение массива переменных запроса из строки или URL, используя регулярные выражения:

Код: Выделить всё Развернуть
function getVars(url) {
var vars = {},url=(url)?url.toString():window.location.href;
var parts = url.replace(/[?&]+([^=&]+)=([^&]*?)[#.]/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
};

var s='http://likbezz.ru/!~tpl/getScrLink/GetVars.html?test1&test2=var2#var3';
alert(getVars(s)); // [object Object]
alert(getVars(s)['test1']); // undefined
alert(getVars(s)['test2']); // var2
alert(getVars(s)['test3']); // undefined

Тоже самое, но циклом:

Код: Выделить всё Развернуть
function getVars(url) {
   var vars = {},url=(url)?url.toString().split('?').pop().split('&'):window.location.search.substring(1).split('&');
   for(var i=0; i<url.length; i++) {
      var tmp = url[i].split(/[=#]/);
      vars[tmp[0]] = typeof(tmp[1])=='undefined' ? '' : tmp[1];
   }
   return vars;
};

var s='http://likbezz.ru/!~tpl/getScrLink/GetVars.html?test1&test2=var2#var3';
alert(getVars(s)); // [object Object]
alert(getVars(s)['test1']); // ''
alert(getVars(s)['test2']); // var2
alert(getVars(s)['test3']); // undefined

---

getvars, javascript, string, prototype, get, function



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0610JavaScript. Логические операторы и ...
Сообщение от: Admin
0629Колонки одинаковой высоты - лучшее ...
Сообщение от: Admin
02171Предпросмотр картинки перед загрузк...
Сообщение от: Admin
21361Re: Закладки пользователя для сайта...
Сообщение от: Admin
075Вывод страницы на печать, версия дл...
Сообщение от: likbezz