简体   繁体   中英

How can I accommodate a string with both single and double quotes inside of it in JavaScript

I have an application, and it is fed some HTML. It then needs to put that HTML into a string. This HTML contains single and double quotes. Is it possible, in javascript, to declare a string with information inside of it, that does not use single or double quotes?

I guess if it is not possible, does anyone know a simple and easy way to escape these quotes so I can put it in a string? Keep in mind, part of this string will be JavaScript that I will later need to execute.

You need to escape the quotation characters with \ :

var someString = 'escape all the quotation marks \"\'';

Is it possible, in javascript, to declare a string with information inside of it, that does not use single or double quotes?

No. JavaScript string literals are delimited with either single quotes or double quotes. Those are the only choices.

does anyone know a simple and easy way to escape these quotes so I can put it in a string?

Do you mean in a string literal?

var str = "var foo=\"bar\"; function say(it) { alert('It is: ' + it); say(foo);";

Or programmatically?

str = str.replace(/"/g, '\\"');

An easy way to escape the quotes is to use the javascript escape function.

http://www.w3schools.com/jsref/jsref_escape.asp

Use the escape function to replace special characters (including single and double quotes). You can then use the unescape function to return the string to it's normal state later if necessary.

For example:

var data = 'hello my name is "James"';
alert(escape(data)); //Outputs: hello%20my%20name%20is%20%22James%22

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM