Javascript初学者:如果href文本与指定的字符串匹配,如何替换?

时间:2011-07-02 20:11:37

标签: javascript

当有人在我的网站上发布指向其他网页的链接时,我想将href文字缩短为:http://mywebsite.com/posts/8/posts/8http://mywebsite.com/tags/8到{{1 }}。因为我正在学习javascript,所以我不想依赖像prototype或jquery这样的库。是否建议使用javascript的/tags/8方法?

我找到了w3schools的页面here,但我的代码正在替换字符串的所有实例,而不仅仅是href文本。

这是我到目前为止所拥有的:

replace

1 个答案:

答案 0 :(得分:1)

str = str.replace(/^http:\/\/www.mywebsite.com/, "");
someElement.appendChild(document.createTextNode(str));

请注意,您通过直接使用用户输入调用document.write来引入Cross-Site Scripting vulnerability(您也可以说您没有正确处理网址http://<script>alert('XSS');</script>)。

不使用document.write,而是将上述代码中的someElement替换为代码中应包含用户内容的元素。请注意,此代码不能位于JavaScript顶级,而应在load事件触发时调用。