+1 @meouw - 巧妙的解决办法!
另一种方法是使用string.split。以下实现对您正在搜索的参数及其值(即任何字符串)很灵活。
function getUniqueParam (query, paramName) {
var i, row, result = {};
query = query.substring(1);
//split query into key=values
query = query.split('&');
for (i = 0; i < query.length; i++) {
row = query[i].split('=');
// if duplicate then set value to false;
if(result[row[0]]) {
result[row[0]] = false;
}
else {
result[row[0]] = row[1];
}
};
// return the requested param value
return result[paramName];
}
// Testing:
var a = '?LastName=abc&FirstName=xyz&insurance=2&insurance=3&insurance=4&insurance=5&BirthDate=01-01-2000';
var b = '?LastName=abc&FirstName=xyz&insurance=2&BirthDate=01-01-2000';
console.log(getUniqueParam(a, 'insurance'));
console.log(getUniqueParam(b, 'insurance'));
您正在寻找[this](http://stackoverflow.com/questions/901115/get-querystring-values-with-jquery)? – paragy 2011-03-05 10:38:17
@alliswell:谢谢。我使用了你提到的问题的顶级答案功能。它返回第一个**保险**值,但不考虑no。 **保险**在字符串中。我只想在字符串中只有一个**保险**的情况下返回**保险**值。所以现在我必须在字符串中添加一个保险号。 – Awan 2011-03-05 10:53:55
欢迎您使用正则表达式,或者使用简单的条件检查。 – paragy 2011-03-05 11:00:55