Add escape characters to string javascript

Does JavaScript have a built-in function like PHP's addslashes [or addcslashes] function to add backslashes to characters that need escaping in a string?

For example, this:

This is a demo string with 'single-quotes' and "double-quotes".

...would become:

This is a demo string with \'single-quotes\' and \"double-quotes\".

asked Apr 20, 2009 at 23:50

Steve HarrisonSteve Harrison

115k15 gold badges85 silver badges71 bronze badges

6

You can also try this for the double quotes:

JSON.stringify[sDemoString].slice[1, -1];
JSON.stringify['my string with "quotes"'].slice[1, -1];

Knu

14.6k5 gold badges56 silver badges88 bronze badges

answered Apr 3, 2014 at 12:30

9

A variation of the function provided by Paolo Bergantino that works directly on String:

String.prototype.addSlashes = function[] 
{ 
   //no need to do [str+''] anymore because 'this' can only be a string
   return this.replace[/[\\"']/g, '\\$&'].replace[/\u0000/g, '\\0'];
} 

By adding the code above in your library you will be able to do:

var test = "hello single ' double \" and slash \\ yippie";
alert[test.addSlashes[]];

EDIT:

Following suggestions in the comments, whoever is concerned about conflicts amongst JavaScript libraries can add the following code:

if[!String.prototype.addSlashes]
{
   String.prototype.addSlashes = function[]... 
}
else
   alert["Warning: String.addSlashes has already been declared elsewhere."];

SharpC

6,4284 gold badges43 silver badges39 bronze badges

answered Mar 31, 2010 at 18:51

Marco DemaioMarco Demaio

32.7k33 gold badges126 silver badges157 bronze badges

4

You can also use this

let str = "hello single ' double \" and slash \\ yippie";

let escapeStr = escape[str];
document.write["str : "+str];
document.write["
escapeStr : "+escapeStr]; document.write["
unEscapeStr : "+unescape[escapeStr]];

answered Dec 30, 2020 at 13:23

1

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Warning: Although escape[] is not strictly deprecated [as in "removed from the Web standards"], it is defined in Annex B of the ECMA-262 standard, whose introduction states:

… All of the language features and behaviors specified in this annex have one or more undesirable characteristics and in the absence of legacy usage would be removed from this specification. … … Programmers should not use or assume the existence of these features and behaviors when writing new ECMAScript code. …

The escape[] function computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.

Note: This function was used mostly for URL queries [the part of a URL following ?]—not for escaping ordinary String literals, which use the format \xHH. [HH are two hexadecimal digits, and the form \xHH\xHH is used for higher-plane Unicode characters.]

Escaped characters in String literals can be expanded by replacing the \x with %, then using the decodeURIComponent[] function.

Syntax

Parameters

str

A string to be encoded.

Return value

A new string in which certain characters have been escaped.

Description

The escape function is a property of the global object. Special characters are encoded with the exception of: @*_+-./

The hexadecimal form for characters, whose code unit value is 0xFF or less, is a two-digit escape sequence: %xx. For characters with a greater code unit, the four-digit format %uxxxx is used.

Examples

Using escape

escape['abc123'];     // "abc123"
escape['äöü'];        // "%E4%F6%FC"
escape['ć'];          // "%u0107"

// special characters
escape['@*_+-./'];    // "@*_+-./"

Specifications

Specification
ECMAScript Language Specification
# sec-escape-string

Browser compatibility

BCD tables only load in the browser

See also

How do you escape characters in a string JavaScript?

Using the Escape Character [ \ ] We can use the backslash [ \ ] escape character to prevent JavaScript from interpreting a quote as the end of the string. The syntax of \' will always be a single quote, and the syntax of \" will always be a double quote, without any fear of breaking the string.

How do I add an escape character to a string?

To insert characters that are illegal in a string, use an escape character. An escape character is a backslash \ followed by the character you want to insert.

How do you write escape in JavaScript?

In JavaScript, the backslash [ \ ] is an escape character. As an example, let's say I want to display the following text: They call it an "escape" character.

What is unescape [] and escape [] functions?

The unescape[] function is used to decode that string encoded by the escape[] function. The escape[] function in JavaScript is used for encoding a string. Using ASCII character support, it makes a string portable so that it can be transmitted across any network to any computer.

Chủ Đề