[工具类]获取url中参数列表

写在前面

在项目中经常用到解析url中参数的逻辑,今天先下载就自己封装了一个方法,方便以后使用的时候,信手拈来。当然这里给出的方法是针对常见的url参数类型的,对于重写url,或者路由格式的不考虑。

c#方法

        /// <summary>
        /// 获取url中参数
        /// </summary>
        /// <param name="url">要解析的url</param>
        /// <param name="baseUrl">基地址</param>
        /// <returns>参数键值对</returns>
        public static NameValueCollection GetUrlParamters(string url, out string baseUrl)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new ArgumentNullException("url");
            }
            NameValueCollection nameValueCollection = new NameValueCollection();
            if (url.IndexOf('?') == -1)
            {
                baseUrl = url;
                return nameValueCollection;
            }
            string[] strUrlParts = url.Split('?');
            baseUrl = strUrlParts[0];
            Regex regex = new Regex(@"(^|&)?(?<key>\w+)=(?<value>[^&]+)(&|$)?", RegexOptions.Compiled);
            MatchCollection matches = regex.Matches(url);
            foreach (Match item in matches)
            {
                if (item.Success)
                {
                    nameValueCollection.Add(item.Groups["key"].Value, item.Groups["value"].Value);
                }
            }
            return nameValueCollection;
        }

测试

        static void Main(string[] args)
        {
            string url = "https://www.baidu.com?p=23432&w=sss&s=kkkdfd";
            string baseUrl = string.Empty;
            NameValueCollection parameters = GetUrlParamters(url, out baseUrl);
            Console.WriteLine(baseUrl);
            foreach (var item in parameters.Keys)
            {
                Console.WriteLine(item + "=" + parameters[item.ToString()].ToString());
            }
            Console.Read();
        }

 

js方法

    <script>
        var getParameters = function (url) {
            var nameValues = [];
            if (url) {
                if (url.indexOf('?') == -1) {
                    return nameValues.push({ baseUrl: url });
                };
                var arrUrlParts = url.split('?');
                var baseUrl = arrUrlParts[0];
                console.log(arrUrlParts[1]);
                var urlParameters=arrUrlParts[1].split('&');
                for (var i = 0; i < urlParameters.length; i++) {
                    console.log(urlParameters[i]);
                    var nameValue = urlParameters[i].split('=');
                    nameValues.push({ baseUrl: baseUrl, key: nameValue[0], value: nameValue[1]});
                };
                return nameValues;
            };
        };
        console.log(getParameters('https://www.baidu.com?p=23432&w=sss&s=kkkdfd'));

 测试

 总结

这里将常用的方法封装一下,方便以后使用。

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4974940.html
时间: 2024-08-01 09:16:49

[工具类]获取url中参数列表的相关文章

jquery获取URL中参数解决中文乱码问题的两种方法

 从A页面通过url传参到B页面时,获取URL中参数出现中文乱码问题,解析url参数的正确方法如下,感兴趣的朋友可以参考下 从A页面通过url传参到B页面时,解析url参数可以用下面两种方法:  方法一:正则分析法  代码如下: function getQueryString(name) {  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");  var

通过正则表达式获取url中参数的简单实现_基础知识

url:      http://xxxx.com?name=魅力&id=123 js中: var name = getUrlParam("name"); /*通过正则获取url中的参数*/ function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.

jquery获取URL中参数解决中文乱码问题的两种方法_javascript技巧

从A页面通过url传参到B页面时,解析url参数可以用下面两种方法: 方法一:正则分析法 复制代码 代码如下: function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != nu

JavaScript获取URL中参数querystring的方法详解_javascript技巧

一. 获取url的querystring参数 获取url的querystring参数的两种方法如下: 1.1 方法一:正则匹配 //获取url中的参数 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", i); // 匹配目标参数 var result = window.location.search.substr(1).

javascript-js获取url中的参数乱码

问题描述 js获取url中的参数乱码 我的url为:test.jsp?lastname=杨涛 js是这么写的 window.onload=function(){ alert(GetQueryString("lastname")); } function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i&q

JS获取URL中的参数数据

 这篇文章主要介绍了JS获取URL中的参数数据,有需要的朋友可以参考一下   代码如下: function getParam(paramName) {     paramValue = "";     isFound = false;     if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {      

使用JavaScript获取URL中的参数(两种方法)_javascript技巧

本文给大家分享两种方法使用js获取url中的参数,其中方法二是使用的正则表达式方法,大家可以根据需要选择比较好的方法,废话不多说了,直接看详细介绍吧. 方法一: //取url参数 var type = request("type") function request() { var query = location.search; var paras = arguments[0]; if (arguments.length == 2) { query = arguments[1]; }

Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法_java

具体代码如下所示: public static String sendGet(String url,String param) { String result = ""; try{ String urlName = url + "?"+param;// URL U = new URL(urlName); URLConnection connection = U.openConnection(); connection.connect(); BufferedReade

js获取url中指定参数值的示例代码

 这篇文章主要是对js获取url中指定参数值的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 如下所示: 代码如下:  ///获取url中指定参数         // <param name="paras">参数名称</param>         ///         function request(paras) {             var url = location.href;             var paraStr