exec
возвращает совпадение или ноль, если совпадение не найдено.Таким образом, вам нужно сохранять exec
ing до тех пор, пока он не вернет значение NULL.
var myRe = /\?*([^=]*)=([^&]*)/;
var myArray;
while((myArray = myRe.exec("?page=3&Name=Alex")) !== null)
{
for(var i=1;i<myArray.length;i++)
{
alert(myArray[i]);
}
}
Кроме того, вы используете неправильное выражение, ему определенно нужен переключатель g
, но я получил его с помощью этого регулярного выражения:
var regex = /([^=&?]+)=([^&]+)/g;
См. Пример в реальном времени: http://jsfiddle.net/GyXHA/