使用jquery获取url及url参数的方法及定义JQuery扩展方法
1、jquery获取url很简单,代码如下:
window.location.href;
其实只是用到了javascript的基础的window对象,并没有用jquery的知识。
2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情
首先看看单纯的通过javascript是如何来获取url中的某个参数:
//获取url中的参数function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg); //匹配目标参数if (r != null) return unescape(r[2]); return null; //返回参数值}
通过这个函数传递url中的参数名就可以获取到参数的值,比如url为
http://localhost:33064/WebForm2.aspx?reurl=WebForm1.aspx
我们要获取reurl的值,可以这样写:
var xx = getUrlParam('reurl');
明白了javascript获取url参数的方法,我们可以通过这个方法为jquery扩展一个方法来通过jquery获取url参数,下面的代码为jquery扩展了一个getUrlParam()方法
(function ($) {$.getUrlParam = function (name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]); return null;}})(jQuery);
为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:
var xx = $.getUrlParam('reurl');
完整代码:
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script><script type="text/javascript">$(function () {//方法二:(function ($) {$.getUrlParam = function (name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]); return null;}})(jQuery);//方法二:var xx = $.getUrlParam('reurl');//方法一:// var xx = getUrlParam('reurl');alert(xx);});//方法一://获取url中的参数function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg); //匹配目标参数if (r != null) return unescape(r[2]); return null; //返回参数值}</script>
url中传递的中文参数在解析的时候无论怎么测试,获取的都是乱码。经过一番调试后发现,我再传递参数时,对汉字编码使用的是 encodeURI ,而上面的方法在解析参数编码时使用的是unescape ,修改为 decodeURI 就可以了
C#获取Url及参数
/// <summary>/// returns the url without the query and the query string as two seperate items/// </summary>/// <param name="url"></param>/// <returns>Item1:The url without the query string/// Item2:The query string if there was one or null</returns>private static string GetQueryStringFromUrl(string url){if (url == null){throw new ArgumentNullException("url");}var firstIndex = url.IndexOf("?");return firstIndex > -1 ? url.Substring(firstIndex + 1) : null;}/// <summary>/// returns the url without the query string if one is present else it returns the original url/// </summary>/// <param name="url"></param>/// <returns>The url without the query string or the original url if no query string was present</returns>private static string StripQueryString(string url){if (url == null){throw new ArgumentNullException("url");}var firstIndex = url.IndexOf("?");return firstIndex > -1 ? url.Substring(0, firstIndex) : url;}
转载于:https://www.cnblogs.com/shy1766IT/p/5327027.html
使用jquery获取url及url参数的方法及定义JQuery扩展方法相关推荐
- C#参数列表中的this(扩展方法)
参数列表中this的这种用法是在.NET 3.0之后新增的一种特性---扩展方法.通过这个属性可以让程序员在现有的类型上添加扩展方法(无需创建新的派生类型.重新编译或者以其他方式修改原始类型). 扩展 ...
- JQUERY获取当前页面的URL信息
window.location 属性 描述 hash 设置或获取 href 属性中在井号"#"后面的分段. host 设置或获取 location 或 URL 的 hostname ...
- html 获取下一个兄弟节点,JS/JQuery获取当前元素的上一个/下一个兄弟级元素等元素的方法...
$(function(){ //遍历获取的input元素对象数组,绑定click事件 var len = $("input[type='file']").length; for(v ...
- dom元素滚动条高度 js_js,jquery 获取滚动条高度和位置, 元素距顶部距离
一,获取滚动条高度和位置 jQuery 获取览器显示区域的高度: $(window).height(); 获取浏览器显示区域的宽度:$(window).width(); 获取页面的文档高度:$(doc ...
- jquery获取radio选中值及遍历
使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项: 1. ...
- 使用jquery获取radio的值
使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项: ...
- jq获取 html元素节点,jQuery 获取当前节点的html
原标题:jQuery 获取当前节点的html 在开发过程中,jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然后我们有时候确需要,找遍jQuery api文档也 ...
- jquery 获取当前元素的前一个兄弟节点元素
jquery 获取当前元素的前一个兄弟节点元素,可以使用 prev() 方法 示例代码 <!DOCTYPE html> <html><head><meta ...
- jquery单选框radio绑定click事件实现和是否选中的方法
使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项: 1. ...
最新文章
- linux怎么卸载webpack,安装webpack后,执行webpack -v命令时报错:SyntaxError: Block-sc
- python怎么用matplotlib生成图表_Python让图表奔跑起来,Matplotlib的神奇用处
- apache 启动故障(httpd: apr_sockaddr_info_get() failed fo)
- ModelBasedCompressiveSensing
- 反射和动态代理实现上下文切入AOP效果
- linux没有interface文件,Linux下interface文件修改
- C语言实现辗转相除法计算两数最大公约数
- 怎么完全卸载赛门铁克_如何无密码卸载Symantec杀毒软件
- 根据word标题结构转换为excel的方法
- 各种浏览器网页背景颜色护眼设置
- 拼音工具类PinyinUtils
- linux查看进程的代码,Linux ps 查看进程(示例代码)
- php文字加边框,word怎么给段落加边框
- 冷眼旁观Cocos3D发布
- 在电商行业拼杀之外,三大电商又在其他行业展开了厮杀
- AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘
- 套料排版代码python_【黑科技】CAD内自动套料,排样,排版功能终于被攻克了!!
- Laravel Admin: Voyager 存储增加阿里云OSS
- linux运行程序 -sh: ./xxxxx: not found 解决办法
- Informatica元数据库解析
热门文章
- python对时间日期做格式化
- 读入源文件,并在每行前加上行号和[Tab]
- 解决列表某项文字过度过多 需要自适应撑开高度展示 其他项目按照行高居中
- VScode配置eslint保存自动格式化,eslint格式化去掉分号和双引号。vscode自动保存去掉分号和双引号;““
- React开发(236):dva概念1数据流向
- React开发(126):ant design学习指南之form中的自定义校验validator
- 前端学习(3282):立即执行函数
- [html] 说说你对abbr标签的理解,它有什么含义?
- [css] 请描述margin边界叠加是什么及解决方案
- 前端学习(2082):const得使用和注意点