总结:客户端与服务器端使用正则增加URL参数的方法
2016-09-02 10:53
525 查看
先说服务器端的:
C#版本
PHP版本
然后是客户端的
客户端使用方法:
C#版本
#region URL参数操作 /// <summary> /// URL参数操作 /// </summary> public class UrlPageHelper { /// <summary> /// 以正则表达式方式增加URL参数 /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <returns></returns> public static string AddUrlParm(string key, string value) { string Url = HttpContext.Current.Request.RawUrl; Url = Regex.Replace(Url + "&", @"(.*)(\?|&)" + key + "=[^&]+?(&)(.*)", "$1$2$4", RegexOptions.IgnoreCase); Url = Url.Remove(Url.Length - 1); if (Url.Contains('?')) { Url = string.Format("{0}&{1}={2}", Url, key, value); } else { Url = string.Format("{0}?{1}={2}", Url, key, value); } return Url; } } #endregion
PHP版本
/** * 添加URL参数 * @param string $url 原URL * @param string $key 键 * @param string $value 值 * @return string 新URL */ private function add_querystring_var($key, $value) { $url = $this->url; $url=preg_replace('/(.*)(\?|&)'.$key.'=[^&]+?(&)(.*)/i','$1$2$4',$url.'&'); $url=substr($url,0,-1); if(strpos($url,'?') === false){ return ($url.'?'.$key.'='.$value); } else { return ($url.'&'.$key.'='.$value); } }
然后是客户端的
(function ($) { $.extend({ Request: function (m) { var sValue = location.search.match(new RegExp("[\?\&]" + m + "=([^\&]*)(\&?)", "i")); return sValue ? sValue[1] : sValue; }, UrlUpdateParams: function (url, name, value) { var r = url; if (r != null && r != 'undefined' && r != "") { value = encodeURIComponent(value); var reg = new RegExp("(^|)" + name + "=([^&]*)(|$)"); var tmp = name + "=" + value; if (url.match(reg) != null) { r = url.replace(eval(reg), tmp); } else { if (url.match("[\?]")) { r = url + "&" + tmp; } else { r = url + "?" + tmp; } } } return r; } }); })(jQuery);
客户端使用方法:
$.UrlUpdateParams(window.location.href, "order", "111")
相关文章推荐
- javascript BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法
- BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法。
- BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法
- BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法。
- BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法
- .net 中,使用带服务器端参数的超链接三种方法
- URL编码:在地栏直接输入参数带汉字的URL后,服务器端接收后出现乱码的解决方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- location.search在客户端获取Url参数的方法
- ASP.NET AJAX 以及AJAXPRO使用客户端调用服务器端的方法--初学者学习
- 为客户端使用事件增加匿名方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(5):服务器端和客户端数据类型的自动转换:基本类型和枚举类型
- asp获取URL参数的几种方法分析总结 原创
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型
- ASP.NET AJAX 使用客户端调用服务器端的方法
- location.search在客户端获取Url参数的方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- ASP.NET中考虑到安全性,使用url参数和Session的方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(8):服务器端和客户端数据类型的自动转换:数组类型
- Javascript 获取链接(url)参数的方法[正则与截取字符串]