Javascript 获取链接(url)参数的方法[正则与截取字符串]

当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。
分解链接的方式:


代码如下:

<script type="text/javascript">
<!--
// 说明:Javascript 获取链接(url)参数的方法

function getQueryString(name)
{
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1)
{
return '';
}

// 获取链接中参数部分
var queryString = location.href.substring(location.href.indexOf("?")+1);

// 分离参数对 ?key=value&key2=value2
var parameters = queryString.split("&");

var pos, paraName, paraValue;
for(var i=0; i<parameters.length; i++)
{
// 获取等号位置
pos = parameters[i].indexOf('=');
if(pos == -1) { continue; }

// 获取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);

// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
if(paraName == name)
{
return unescape(paraValue.replace(/\+/g, " "));
}
}
return '';
};

//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryString('test'));
//-->
</script>

用正则匹配的方式:


代码如下:

<script type="text/javascript">
<!--
function getQueryStringRegExp(name)
{
var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return "";
};

//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryStringRegExp('test'));
//-->
</script>

(0)

相关推荐

  • javascript使用正则获取url上的某个参数

    function GetUrlMenuCode() { var url = window.location.href; var parameter = url.substring(url.indexOf('?') + 1); parameter = parameter.split('&'); var reg = /MenuCode=/g; var menuCode = ""; for (var i = 0; i < parameter.length; i++) { reg

  • JavaScript正则替换HTML标签功能示例

    本文实例讲述了JavaScript正则替换HTML标签功能.分享给大家供大家参考,具体如下: 1.说明 获取HTML字符串(包含标签),通过正则表达式替换HTML标签,输出替换后的字符串 2.实现JavaScript代码 function deleteTag() { var regx = /<[^>]*>|<\/[^>]*>/gm; var tagStr = $("#ul_li").html(); alert("替换之前的字符串:"

  • JS正则获取HTML元素的方法

    本文实例讲述了JS正则获取HTML元素的方法.分享给大家供大家参考,具体如下: var html = $("#summaryTemplate").html(); var imageMath = /<img [^<,>]*(?=target-type=("|')replace("|'))[^/,<,>]*\/>/; var scriptMath = /<script [^<,>]*(?=target-type=(&

  • Java/Js下使用正则表达式匹配嵌套Html标签

    通用 HTML 标签区配正则 最近看网站日志,发现有人在博客上转了我不知道几年前写的一个匹配 HTML 标签的正则,刚好最近也在做一些相关的事情,顿时来了兴趣.就拿回来改改,成了下面这样,可能会有一些 case 遗漏,欢迎修改,已知在内嵌 <script> 复杂内容的处理能力较弱,不过对纯 HTML 来说已经够用,拿来做一些分析工具还是不错滴. 复制代码 代码如下: <script type="text/javascript"> var str = "

  • JS正则表达式获取字符串中特定字符的方法

    实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test 实现的机制:通过replace的回调函数获取. 代码: 复制代码 代码如下: var str = "abcdefgname='test'sddfhskshjsfsjdfps"; var reg = /name='((\w|-|\s)+)/ig; str.replace(reg, function() { console.log(arguments.length);

  • JavaScript中使用正则匹配多条,且获取每条中的分组数据

    不过我要面对的是一个很松散的HTML页面,无法XML 因此,本文的重点在于如果要获取的网页中有Table或List段落,需要将这些段落的信息按照列的方式保存到JS的数组中 直接贴代码: 复制代码 代码如下: var str = "字符串字符串<table><tr><th>ID</th><th>姓名</th><th>电话</th></tr><tr><td>01<

  • javascript 获取链接文件地址中第一个斜线内的正则表达式

    window.location.pathname 比如: /windows/location/page.html 我想得到"windows",请问用正则表达式怎么写? var a="/windows/location/page.html"; var reg=/(^(http[s]?:\/\/[^\/]*\/)|(^\/))([^\/]+)\/.*$/ig; var t=a.replace(reg,"$4"); alert(a + "\n

  • node.js正则表达式获取网页中所有链接的代码实例

    实现代码 复制代码 代码如下: var http = require('http'); //定义函数var getAHref = function(htmlstr){    var reg = /<a.+?href=('|")?([^'"]+)('|")?(?:\s+|>)/gim;    var arr = [];    while(tem=reg.exec(htmlstr)){        arr.push(tem[2]);    }    return a

  • JS获取网址中指定值的正则函数

    复制代码 代码如下: <script type="text/javascript"> String.prototype.getQuery = function(name){ var reg = new RegExp('(^|\\?|&)'+name+'=([^&]*|$)'), url = this.replace(/&/g, '&'), r = url.match(reg); return r === null ? null : unesc

  • javascript下一个还原html代码的正则

    今天看到蓝色有人 问这个问题,偶就试着写了一个,感觉正则的replace+function方式挺方便简洁,代码如下: "}); alert(str); //--> [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • javascript 获取url参数的正则表达式(用来获取某个参数值)

    例子: //javascript传参数(多个) var url = "B.aspx?txtA="+document.getElementById("txtName").value; url +="&txtB="+document.getElementById("txtAge").value; window.open(url,'xWindow','width=640,height=400,status=no,toolba

  • php正则去除网页中所有的html,js,css,注释的实现方法

    如下所示: $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript "'<style[^>]*?>.*?</style>'si", // 去掉 css "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记 "'<!--[/!]*?[^<>

  • 在JavaScript中获取请求的URL参数[正则]

    第一种方法:,代码比较专业 推荐 复制代码 代码如下: <script> function GetLocationParam(param){ var request = { QueryString : function(val) { var uri = window.location.search; var re = new RegExp("" +val+ "=([^&?]*)", "ig"); return ((uri.ma

随机推荐