var rgExp = /\/[a-z0-9]{3,}[[\/]?\?[[a-z0-9]{3,}\=[a-z0-9]{3,}]*[\&\&]]?$/ig;
По сути она должна подходить вот под эти три типа ссылок:
var rgExp = /\/[a-z0-9]{3,}[[\/]?\?[[a-z0-9]{3,}\=[a-z0-9]{3,}]*[\&\&]]?$/ig;
Цитата |
/link /link/?get=1 /link?get=1 |
var rgExp = /\/[a-z0-9]{3,}(\/)?(\?)?(([a-z0-9]{1,}\=[a-z0-9]{1,})*(\&\&)?)?$/ig;
Array
[
0 => '/messages?pm=1'
]
var print_r = function (obj, t) {
// define tab spacing
var tab = t || '';
// check if it's array
var isArr = Object.prototype.toString.call(obj) === '[object Array]';
// use {} for object, [] for array
var str = isArr ? ('Array\n' + tab + '[\n') : ('Object\n' + tab + '{\n');
// walk through it's properties
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
var val1 = obj[prop];
var val2 = '';
var type = Object.prototype.toString.call(val1);
switch (type) {
// recursive if object/array
case '[object Array]':
case '[object Object]':
val2 = print_r(val1, (tab + '\t'));
break;
case '[object String]':
val2 = '\'' + val1 + '\'';
break;
default:
val2 = val1;
}
str += tab + '\t' + prop + ' => ' + val2 + ',\n';
}
}
// remove extra comma for last property
str = str.substring(0, str.length - 2) + '\n' + tab;
return isArr ? (str + ']') : (str + '}');
};
var url = "/messages?pm=1";
var rgExp = /\/[a-z0-9]{3,}(\/)?(\?)?(([a-z0-9]{1,}\=[a-z0-9]{1,})*(\&\&)?)?$/ig;
var result = url.match(rgExp);
console.log(print_r(result));