如何在Javascript中转义单引号?

时间:2013-03-12 02:49:40

标签: javascript

我在我的网站(http://www.xeasycorex.net)上使用以下脚本在每个帖子中找到Tumblr按钮。 strPostTitle.replace行转义任何双引号,但我需要对单引号执行相同操作,因为它在帖子标题中存在时终止字符串而不显示按钮,我只是不知道如何执行此操作

谢谢!

<script>
var strPostUrl = "<data:post.url/>";
var strPostTitle = '<data:post.title/>';
var strNewUrl = strPostUrl.replace("http://","");
var strNewTitle = strPostTitle.replace(/"/g, '"');
document.write("<a href='http://www.tumblr.com/share/link?url="+strNewUrl+"&amp;name="+strNewTitle+"'><img src='https://lh4.googleusercontent.com/-Vw74mICSigg/USjO29GAujI/AAAAAAAARHE/dY0nzXtwTVU/s81/tumblr-share.png'/></a>");
</script>

2 个答案:

答案 0 :(得分:0)

因为单引号似乎是javascript中的特殊字符,所以你应该使用反斜杠来传输它。 \' 请点击此链接查看更多相关信息:http://www.w3schools.com/js/js_obj_string.asp。 我改变了你的代码,所以现在它不需要逃避任何事情。

  <script>
        var strPostUrl = escape('<data:post.url/>');
    var strPostTitle = escape('<data:post.title/>');
    var strNewUrl = strPostUrl.replace("http://","");
    document.write('<a href="http://www.tumblr.com/share/link?url='+strNewUrl+'name="'+strPostTitle+'"><img src="https://lh4.googleusercontent.com/-Vw74mICSigg/USjO29GAujI/AAAAAAAARHE/dY0nzXtwTVU/s81/tumblr-share.png"/></a>');
        </script>

答案 1 :(得分:0)

使用encodeURIComponent JavaScript函数:

var strPostUrl   = encodeUIRComponent("<data:post.url/>");
var strPostTitle = encodeURIComponent("<data:post.title/>");

以下是该功能的说明:

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent