javascript - 谁可以帮我说明下这个正则是什么意思?/%url%/
天蓬老师
天蓬老师 2017-04-11 11:40:08
[JavaScript讨论组]

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

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%/到底替换了什么?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
天蓬老师

/ 转义符为 %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>
PHPz

天蓬老师

做了一个宏替换
将location.ref encode之后,替换掉%url%宏

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号