发布网友 发布时间:2022-04-22 06:41
共5个回答
懂视网 时间:2022-04-20 17:52
要撮利用js获取url中参数名也参数值这个不多见了,但我今天需要这样操作,下面我来给大家介绍一下具体的实例方法。
在已知参数名的情况下,获取参数值,使用正则表达式能很容易做到。
js的实现方法如下:
代码如下 | |
function getValue(url, name) { if (arr) { return null; |
或
方法一:正则分析法
代码如下 | |
function getQueryString(name) { 这样调用: alert(GetQueryString("参数名1")); |
如果想获取所有的参数名和其对应的值,同样也可以使用正则表达式的方法,
js实现方法:
代码如下 | |
function getKeyValue(url) { while (arr) { arr = reg.exec(url); return result; |
注意在js中用于匹配的还有一个叫match,match是字符串的方法,而exec是RegExp对象的方法。使用字符串的match方法,同时正则表达式指定为全局匹配,那么正则表达式中的分组将没有用,返回的结果是所有匹配正则表达式的子字符串。exec方法没有使用全局匹配标志时,返回的时间第一个匹配的子字符,如果使用了全局匹配标志,第一次执行从头开始匹配符号的字符串,再次调用,就从上一次匹配结果后开始匹配。
下面提供php的实现方法:
代码如下 | |
function getKeyValue($url) { if ($mr !== FALSE) { return $result; |
php的preg_match_all方法把匹配的结果存放在第三个指定的参数中,是一个二维数组。第一维度是分组信息的数组,即第一个数组存放的是所有匹配的完整字符串,第二个数组存放的是第一个()对应的值得,第二维度是分组的值。
热心网友 时间:2022-04-20 15:00
不太明白用JS获取参数的目的,也许Ajax中能用到吧
<script language = javascript>
function request(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
//如你给出的地址可以这样
var classid = request("classid");
var id = request("id");
//然后你就可以对这些参数处理了
</script>
热心网友 时间:2022-04-20 16:18
用js代码在本地分析得到classid和id的值总归是比较麻烦,而作为GET参数,在服务端总是要用到的。
如果你的本地js将用到这两个参数值,你可以直接让服务端将这两个值写入到本地。
<?php
$mystr="<script>x_classid=9;x_id=2</script>"
echo $mystr
?>
这样你在本地就可以直接调用x_classid和x_id以得到这两个参数。
热心网友 时间:2022-04-20 17:52
var url = "http://127.0.0.1/e/action/ShowInfo.php?classid=9&id=2";
function parse_url(_url){
var pattern = /(\w+)=(\w+)/ig;
var parames = {};
url.replace(pattern, function(a, b, c){
parames[b] = c;
});
return parames;
}
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);
//结果 9, 2
热心网友 时间:2022-04-20 19:44
<script>
function Request(strName){
var strHref = document.location.href;
var intPos = strHref.indexOf("?");
var strRight = strHref.substr(intPos + 1);
var arrTmp = strRight.split("&");
for(var i = 0; i < arrTmp.length; i++ ) {
var arrTemp = arrTmp[i].split("=");
if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
}
return 0;
}
alert("classid值:"+Request("classid")+"id值"+Request("id"))
</script>