使用ASCII代码在JavaScript中转义字符

时间:2014-09-30 05:46:34

标签: javascript escaping bookmarklet

我正在创建一个bookmarklet,我必须避免使用双引号("),因为我必须在HTML页面中包含bookmarklet,并且它在使用双引号的字符串中:

<a href="javascript:...">

在某些地方,我必须使用代码replace(/".*/, '');

在sed中,我可以使用\x22转义双引号(22是双引号的ASCII十六进制代码)

是否可以在replace(/\x22.*/, '');这样的JavaScript中执行类似操作?

2 个答案:

答案 0 :(得分:1)

您可以使用其他语法制作RegExp并使用String.fromCharCode

以下是一个例子:

'"hello"'.replace(new RegExp(String.fromCharCode(34), 'g'), '-quotes-')

-->

'-quotes-hello-quotes-'

答案 1 :(得分:1)

与在任何HTML属性的值中使用引号的方式相同。

例如

<img src="..." alt="A picture of Bob &quote;Wild Man&quot; Johnson">

所以对你来说

<a href="javascript:replace(/&quot;.*/, '');">