正则表达式[^?&=]

1.中括号里加上尖号是“非”的意思

非字母的写法      [^a-zA-Z]

2. 获取url请求中参数的值。

params.param=params.param.replace(/([^?&=]+)=([^?&=]*)/g,function (ars, a, b) {
  if(/[\u4e00-\u9fa5]+/g.test(b))b=encodeURI(b)//如果是中文 转码
  return a+"="+b;
})

其中,//g内的是正则,中括号中的上尖号代表非,[^],所以[^?&=]代表除了?&=之外的任意字符,[^?&=]+代表:‘至少一个除了?&=之外的任意字符’。等号=右边[^?&=]*代表0或者多个‘除了?&=之外的任意字符’

/([^?&=]+)=([^?&=]*)/g
所以,下面这个url请求,匹配的结果是:  roleName=测试角色名 、roleId=331 、 roleDesc=测试描述

http://XXXXXX/editRole?roleName=测试角色名&roleId=331&roleDesc=测试描述&callback=__jp27

猜你喜欢

转载自blog.csdn.net/evaking2014/article/details/80908508