javascript - 谁可以帮我说明下这个正则是什么意思?/%url%/

查看:61
本文介绍了javascript - 谁可以帮我说明下这个正则是什么意思?/%url%/的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

不好意思,提问的不够好,先上源码

document.write('<iframe frameborder="0" scrolling="no" src="http://hits.sinajs.cn/A1/weiboshare.html?url=%url%&appkey=&type=3" width="16" height="16"></iframe>'.replace(/%url%/, encodeURIComponent(location.href)));


一个分享微博的功能,我理解不了这句。

replace(/%url%/, encodeURIComponent(location.href))

/%url%/到底替换了什么?

解决方案

/ 转义符为 %2F
% 转义符为 %25
所以

var str = '%2F%25url%25%2F';
var reg = /%url%/;
reg.test(str)

转义后等价于

var str = '/%url%/';
var reg = /%url%/;
reg.test(str)

location.href就是当前页面的链接,然后URI编码一下,整个的意思就是把iframe里的src的参数的第一个替换为url=当前链接的URI编码,例如,现在的页面:

<iframe frameborder="0" scrolling="no" src="http://hits.sinajs.cn/A1/weiboshare.html?url=https%3A%2F%2Fsegmentfault.com%2Fq%2F1010000008203094%2Fa-1020000008203213%2Fedit&appkey=&type=3" width="16" height="16"></iframe>

这篇关于javascript - 谁可以帮我说明下这个正则是什么意思?/%url%/的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆