先说服务器端的:

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 - );
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")

 

总结:客户端与服务器端使用正则增加URL参数的方法的更多相关文章

  1. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  2. 使用jquery获取url以及jquery获取url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  3. 使用jquery获取url及url参数的方法及定义JQuery扩展方法

    1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...

  4. [开发笔记]-使用jquery获取url及url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...

  5. js获取url参数的方法

    js获取url参数的方法有很多. 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...

  6. 使用jquery获取url及url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...

  7. 使用jquery获取url以及jquery获取url参数的方法(转)

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  8. 使用jquery获取url及url参数的方法(转)

    转自:http://www.cnblogs.com/babycool/p/3169058.html 使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery ...

  9. 多浏览器兼容用javascript获取url参数的方法比较推荐的一种

    多浏览器兼容用javascript获取url参数的方法比较推荐的一种 <script language = javascript> function request(paras){ var ...

随机推荐

  1. 2017 苹果强制https

    苹果的ATS(App Transport Security)对服务器硬性3点要求: ① ATS要求TLS1.2或者更高,TLS 是 SSL 新的别称. ② 通讯中的加密套件配置要求支持列出的正向保密. ...

  2. 第一天:安装nodejs

    1.首先,下载NodeJs程序.地址 http://www.nodejs.org/download/,选择Windows Installer 64bit 2.下载下来后,狂点下一步,安装在本地硬盘上. ...

  3. MSSQL 查询表空间

    1. exec sp_spaceused '表名'            (SQL统计数据,大量事务操作后可能不准) 2. exec sp_spaceused '表名', true       (更新 ...

  4. PhpStorm Git 配置(解决文件没有变色的问题)

    摘要: PhpStorm Git 配置 首先需要安装windows下的Git版本,网上有很多我下载的是msysgit反正都差不多,不会的自己百度. 其次打开PhpStorm,点击File ,Setti ...

  5. Intent传递list<bean>集合

    首先你定义的bean需要继承Serializable接口 //传递list<bean>集合Intent intent = new Intent(ViolationOfTheQueryAct ...

  6. checkedListBox

    checkedListBox一键删除多个选中items private void button3_Click(object sender, EventArgs e) { ; i < checke ...

  7. input的实时监控

    <input id="phone" type="tel" placeholder="请输入手机号"> $("#phon ...

  8. 10月wish me luck

    10/13 明天开始的三天 就要跟历史地理化学说拜拜了 以诚待之 好运 10/20 P三角形计数:一看就是叉积.因为去年迪子讲过.但是我已经忘记了.所以重新写了一遍.把所有的点有序化,将三角形面积转化 ...

  9. 如何在UMG蓝图中动态创建控件

    把控件作为UObject即可,在c++中则使用NewObject函数

  10. 【Oracle】oracle10g以后利用q-quote特性简化包含单引号后双引号的字符串写法

    The Q-quote delimiter can be any single- or multibyte character except space, tab, and return. If th ...