通过JavaScript获取url中的参数信息不是很困难,方法很多。之所以用这个方法,是觉得它利用了正则表达式,很简练。
- function getQuery(name)
- {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null)
- return unescape(r[2]);
- return null;
- }
例如有个需求,在一个页面中用Javascript实现根据url参数ErrType的不同的值在页面中显示不同的错误信息:
- <div id="divError" style="color:red;font-weight:bold;text-align:center;width:100%;height:300px;padding-top:30px;"></div>
- <script language="javascript">
- // define the descriptions of errors
- var errInfos = { "1" : "The submitting user should not be allowed to review his submissions",
- "2" : "Reviewers cannot review the same submission twice",
- "3" : "Only people in the “reviewers” group should be able to access the review form"
- }
- function getQuery(name)
- {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null)
- return unescape(r[2]);
- return null;
- }
- var errType = getQuery( "ErrType" )
- if( errType )
- document.getElementById("divError").innerText = errInfos[errType]
- </script>