我找不到从查询字符串部分获取参数值的正则表达式:
我需要将参数名称发送到方法并获取参数值作为字符串的结果,例如
“p=1&qp=10”
。
我想出了以下内容:
function getParamValue(name) {
var regex_str = "[&]" + name + "=([^&]*)";
var regex = new RegExp(regex_str);
var results = regex.exec(my_query_string);
// check if result found and return results[1]
}
如果 name = 'p'
,我的 regex_str 现在不起作用。如果我将 regex_str 更改为
var regex_str = name + "=([^&]*)";
它可以返回参数'qp'
的值,参数name = 'p'
你能帮我用正则表达式从 '&'
之后或从字符串的开头搜索参数名称的开头吗?
最佳答案
这可能会起作用,具体取决于您是否分离了参数部分。
var regex_str = "(?:^|\&)" + name + "=([^&]*)";
or
var regex_str = "(?:\&|\?)" + name + "=([^&]*)";
关于javascript - 寻找一个正则表达式来解析JS的参数字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537260/