我需要在 JavaScript 中解析 url。
这是我的代码:
var myRe = /\?*([^=]*)=([^&]*)/;
var myArray = myRe.exec("?page=3&Name=Alex");
for(var i=1;i<myArray.length;i++)
{
alert(myArray[i]);
}
不幸的是它只适用于第一个name=value
pair.
我如何更正我的代码?
exec
返回匹配项,如果未找到匹配项则返回 null。所以你需要保留exec
直到返回 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/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)