使用正则表达式获取url中的中文参数值出现乱码问题
来源:互联网 发布:java 自然语言 编辑:程序博客网 时间:2024/06/05 04:21
今天在使用网上的方法获取url中中文参数时出现了乱码,如下图所示:
获取参数方法:
<script> function getUrlParam(name) { var reg = new RegExp("(^|&)" + "user" + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return r[2]; //返回参数值 } </script>
解决方案:
<script> function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return decodeURIComponent(r[2]); elsereturn null; //返回参数值 } </script>
知识点解析:
正则表达式:
RegExp("(^|&)" + 'user' + "=([^&]*)(&|$)")
RegExp 正则表达式
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。
| 指明两项之间的一个选择。要匹配 |,请使用 \|。
[ 标记一个中括号表达式的开始。要匹配 [,请使用 \[。
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
window.location.search
截取当前url中“?”后面的字符串
substr
定义和用法:substr() 函数返回字符串的一部分。
注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。
语法:substr(string,start,length)
参数描述
string必需。规定要返回其中一部分的字符串。
start必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾开始的指定位置开始
0 - 在字符串中的第一个字符处开始
length
可选。规定被返回字符串的长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回的长度
负数 - 从字符串末端返回的长度
decodeURIComponent()函数
unescape() 函数可对通过 escape() 编码的字符串进行解码。
该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。
ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
参考内容:
http://www.jb51.net/article/19850.htm
https://segmentfault.com/q/1010000003039352
- 使用正则表达式获取url中的中文参数值出现乱码问题
- js获取url中的中文参数出现乱码解决
- js获取url中的中文参数出现乱码解决方法
- js获取url中的中文参数出现乱码解决
- Js获取url中的参数(已解决出现的中文乱码问题)
- el表达式获取url中文参数乱码
- 正则表达式获取url中的参数。
- 正则表达式获取url中的参数
- js 获取url 参数 中文乱码问题
- js获取url参数中文乱码问题
- js 获取url 参数 中文乱码问题
- jquery + 正则表达式 获取当前URL中的参数值
- 使用jquery获取url以及使用jquery获取url参数以及中文编码乱码的问题
- JS使用正则表达式获取URL参数
- url参数中的中文乱码问题
- 获取URl中的参数,解决获取参数是的乱码问题
- 正则表达式获取URL参数
- 正则表达式获取url参数
- Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Lig
- How Many Tables hd 1213
- python中将中文汉字转换为英文首字母的代码及遇到的小问题
- 利用数据库表转置将多条记录合并成一条记录
- UCOSIII简介于移植
- 使用正则表达式获取url中的中文参数值出现乱码问题
- DeepLearning tutorial(1)Softmax回归原理简介+代码详解
- poj 2135 Farm Tour(最小费用最大流)
- 【项目管理和构建】eclipse配置maven + 创建maven项目(三)
- HDOJ 5807 Keep In Touch
- DatePicker 控件的使用 android 开发
- Android小知识点总结
- vs2013-qt5编译兼容xp时常遇问题
- 143.Count Numbers with Unique Digits