Js正则匹配提取url的参数值 http://www.nowcoder.com?key=1&key
发布网友
发布时间:2024-10-24 13:04
我来回答
共3个回答
热心网友
时间:2024-11-12 11:32
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>index</title>
</head>
<body>
<script>
var str = "http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe";
var patt1 = /key=\d/ig; //匹配key=开头,后面匹配一个数字 i表示忽略大小写 g表示尽可能多的匹配
document.write("用正则表达式取值为:" + str.match(patt1));
document.write("<br />")
var arr = str.match(patt1);
var result = [];
console.log(str.match(patt1)) // [key=1,key=2,key=3]
for (var i = 0; i < arr.length; i++) {
result.push(parseInt(arr[i].substr(4, 1)));
}
document.write("最终的结果为:[" + result + "]");
</script>
</body>
</html>
热心网友
时间:2024-11-12 11:33
正则 key=\d
提出出3个值,再right取最后一个字符即可。
热心网友
时间:2024-11-12 11:33
function getUrlParam(sUrl, sKey) {
var param = sUrl.split('#')[0].split('?')[1];
if (sKey){//指定参数名称
var strs = param.split('&');
var arrs = new Array();//如果存在多个同名参数,则返回数组
for(var i = 0, len = strs.length; i < len; i++){
var tmp = strs[i].split('=');
if(tmp[0] == sKey){
arrs.push(tmp[1]);
}
}
if (arrs.length == 1){//返回该参数的值或者空字符串
return arrs[0];
} else if (arrs.length == 0){
return "";
} else {
return arrs;
}
} else {//不指定参数名称,返回全部的参数对象 或者 {}
if(param == undefined || param == ""){
return {};
} else {
var strs = param.split('&');
var arrObj = new Object();
for(var i = 0, len = strs.length; i < len; i++){
var tmp = strs[i].split('=');
if (!(tmp[0] in arrObj)) {
arrObj[tmp[0]] = [];
}
arrObj[tmp[0]].push(tmp[1]);
}
return arrObj;
}
}
}
热心网友
时间:2024-11-12 11:32
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>index</title>
</head>
<body>
<script>
var str = "http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe";
var patt1 = /key=\d/ig; //匹配key=开头,后面匹配一个数字 i表示忽略大小写 g表示尽可能多的匹配
document.write("用正则表达式取值为:" + str.match(patt1));
document.write("<br />")
var arr = str.match(patt1);
var result = [];
console.log(str.match(patt1)) // [key=1,key=2,key=3]
for (var i = 0; i < arr.length; i++) {
result.push(parseInt(arr[i].substr(4, 1)));
}
document.write("最终的结果为:[" + result + "]");
</script>
</body>
</html>
热心网友
时间:2024-11-12 11:33
正则 key=\d
提出出3个值,再right取最后一个字符即可。
热心网友
时间:2024-11-12 11:33
function getUrlParam(sUrl, sKey) {
var param = sUrl.split('#')[0].split('?')[1];
if (sKey){//指定参数名称
var strs = param.split('&');
var arrs = new Array();//如果存在多个同名参数,则返回数组
for(var i = 0, len = strs.length; i < len; i++){
var tmp = strs[i].split('=');
if(tmp[0] == sKey){
arrs.push(tmp[1]);
}
}
if (arrs.length == 1){//返回该参数的值或者空字符串
return arrs[0];
} else if (arrs.length == 0){
return "";
} else {
return arrs;
}
} else {//不指定参数名称,返回全部的参数对象 或者 {}
if(param == undefined || param == ""){
return {};
} else {
var strs = param.split('&');
var arrObj = new Object();
for(var i = 0, len = strs.length; i < len; i++){
var tmp = strs[i].split('=');
if (!(tmp[0] in arrObj)) {
arrObj[tmp[0]] = [];
}
arrObj[tmp[0]].push(tmp[1]);
}
return arrObj;
}
}
}