判断并截取地址栏传的参数详解

我与影子孤独终老i 提交于 2020-03-03 06:56:28
判断地址栏传的参数 截取地址栏参数
//name为要截取的参数
function getQueryString(name) {
	//获取整个URL字符串,即完整的地址栏
	var dzurl = window.location.href; 
	//执行全局匹配,查找所有匹配以"&name="开头或者"name="开头,中间为任意多个除了'&'以外的字符;
	//一旦遇到 '&' 或者 '' 就中止取值
	var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g"); 
	var matcher = pattern.exec(dzurl);
	
	var items = null;
	if(null != matcher) {
		try {
			items = decodeURIComponent(decodeURIComponent(matcher[1]));
		} catch(e) {
			try {
				items = decodeURIComponent(matcher[1]);
			} catch(e) {
				items = matcher[1];
			}
		}
	};
	return items;
};

window.location.href

  1. window.location.href: 获取整个URL字符串,即完整的地址栏(如https://blog.csdn.net/weixin_44249754/article/details/104456861)
  2. window.location.protocol:返回URL 的协议部分( 如 https:)
  3. window.location.host:返回URL 的主机部分(如 blog.csdn.net)
  4. window.location.port:返回URL 的端口部分,如果采用默认的80端口那么返回值并不是默认的80而是空字符
  5. window.location.pathname:返回URL 的路径部分,也就是就是文件地址,(如:/weixin_44249754/article/details/104456861)
  6. window.location.search:返回查询(参数)部分,使用javascript来获得相信应的参数值(如ver=1.0&id=6)
  7. window.location.hash: 锚点,返回如:#imhere <src=“http://feeds.feedburner.com/~s/fisker?i=http://www.x2y2.com/fisker/post/0703/window.location.html” type=“text/javascript” charset=“utf-8”>

new RegExp(pattern, attributes);

  1. RegExp 对象表示正则表达式,对字符串执行模式匹配。
  2. 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
  3. 参数 attributes 是一个可选的字符串,包含属性 “g”、“i” 和 “m”,分别用于指定全局匹配区分大小写的匹配多行匹配

exec() 方法

  1. exec() 方法用于检索字符串中的正则表达式的匹配。
  2. 它的返回值是一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

try/catch/finally 语句

  1. try…catch语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。
  2. try { tryCode - 尝试执行代码块 }
  3. catch(err) { catchCode - 捕获错误的代码块 }
  4. finally { finallyCode - 无论 try / catch 结果如何都会执行的代码块 }

decodeURIComponent()
encodeURIComponent()

  1. encodeURIComponent(URIstring)
  • 此函数可把字符串作为 URI 组件进行编码。
  • 参数URIstring为一个字符串,含有 URI 组件或其他要编码的文本。
  • 返回值URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
  1. decodeURIComponent(URIstring)
  • 此函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
  • 参数URIstring为一个字符串,含有编码 URI 组件或其他要解码的文本。
  • 返回值为URIstring 的副本,其中的十六进制转义序列将被它们表示的字符替换。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!