js如何禁止特殊字符被转义保留原始字符串
发布时间:2025-05-24 17:10:36 发布人:远客网络
一、js如何禁止特殊字符被转义保留原始字符串
1、在 JavaScript中,通过在字符串前添加反斜杠(\)可以转义特殊字符,如转义单引号为\'。然而,若需保留特殊字符而不被转义,可采用原始字符串表示法,即在字符串前加上反引号(`)。
2、原始字符串表示法让 JavaScript无需对字符串内任何字符进行转义,包括特殊字符。这使得在字符串中包含换行等复杂字符时,可避免转义带来的问题。
3、使用原始字符串表示法时,即使包含换行符,它们也不会被转义,输出保持原始格式。
4、值得注意的是,原始字符串表示法是较新特性,可能并非所有浏览器均支持。开发者在实际应用时,需确认目标环境是否兼容。
二、单引号是HTML实体吗
1、字面上来说,单引号也是,但是做前端的同仁不会这样考虑问题。
2、首先,onclick=,其后面的引号中应该是完整的js代码,那么在此之中的所有代码都会转到js的语境下处理,放进去的单/双引号也如此(多说一句,单/双引号括起来的表示字符串常量,没有单/双引号则表示双引号内其他处的变量)。
3、既然在js的语境下,那么用双引号也是可以表示字符串常量的,那么我们就试着把双引号内的单引号换成双引号,好了,问题来了,在此处到双引号外部为止都是处在html语境下,html语境下的四个双引号,就把onclick的js表达式切成了两部分,于是js被切开,报错。
4、单引号的引入,让html语境下的js代码部分,在通过双引号转移到js语境之后,任然可以被识别为引号,事实上就是为了解决2中引号内还有引号的问题。
5、ps:转义的原意,是为了在HTML语境下转义,而非js语境下。经过转换后,在js语境下就任然是双引号,可以被js解释器来处理。甚至可以是4个双引号全换为单引号,只要把中间的两个单引号转义,结果依然是一样的。那么这就不必要问引号是否是html实体这样的问题了。
三、html转义字符
1、html转义字符有哪些呢?下面就让我们一起来了解一下吧:
2、转义字符串也叫做字符实体,在HTML中,定义转义字符串的原因其实主要有两种,即第一种原因是像“”与“”这类符号已经用于表示HTML标签,因此就不可以直接作为文本中的符号来使用。
3、而为了能够在HTML文档中使用这些符号,就需要定义它的转义字符串。也就是说在解释程序遇到这类字符串时就需要将其解释为真实的字符,不过需要注意的是,在输入转义字符串时,需要严格遵守字母大小写的规则。
4、第二种原因是有些字符在ASCII字符集中可能是没有定义的,因此是需要使用转义字符串来表示。
5、当然还有一些其他的转义字符,即:
6、”#34;quot;双引号Quotationmark
7、(#40;—小括号左边部分Leftparenthesis
8、)#41;—小括号右边部分Rightparenthesis
9、[#91;---中括号左边部分Leftsquarebracket
10、\#92;---反斜杠Reversesolidus(backslash)
11、]#93;—中括号右边部分Rightsquarebracket
12、_#95;—下划线Horizontalbar(underscore)
13、{#123;—大括号左边部分Leftcurlybrace
14、}#125;—大括号右边部分Rightcurlybrace
15、#160;nbsp;空格Nonbreakingspace
16、?#161;iexcl;Invertedexclamation
17、¢#162;cent;货币分标志Centsign
18、£#163;pound;英镑标志Poundsterling
19、¤#164;curren;通用货币标志Generalcurrencysign
20、|#166;brvbar;orbrkbar;断竖线Brokenverticalbar
21、¨#168;uml;ordie;变音符号Umlaut
22、?#171;laquo;Leftanglequote,guillemetleft
23、?#174;reg;注册商标标志Registeredtrademark
24、ˉ#175;macr;orhibar;长音符号Macronaccent
25、±#177;plusmn;加或减Plusorminus
26、2#178;sup2;上标2Superscrīpttwo
27、3#179;sup3;上标3Superscrīptthree
28、′#180;acute;尖重音符Acuteaccent
29、1#185;sup1;上标1Superscrīptone
30、?#187;raquo;Rightanglequote,guillemetright
31、?#188;frac14;四分之一Fractionone-fourth
32、?#189;frac12;二分之一Fractionone-half
33、?#190;frac34;四分之三Fractionthree-fourths
34、?#191;iquest;Invertedquestionmark
35、à#192;Agrave;CapitalA,graveaccent
36、á#193;Aacute;CapitalA,acuteaccent
37、?#194;Acirc;CapitalA,circumflex
38、?#196;Auml;CapitalA,di?esis/umlaut
39、è#200;Egrave;CapitalE,graveaccent
40、é#201;Eacute;CapitalE,acuteaccent
41、ê#202;Ecirc;CapitalE,circumflex
42、?#203;Euml;CapitalE,di?esis/umlaut
43、ì#204;Igrave;CapitalI,graveaccent
44、í#205;Iacute;CapitalI,acuteaccent
45、?#206;Icirc;CapitalI,circumflex
46、?#207;Iuml;CapitalI,di?esis/umlaut
47、D#208;ETH;CapitalEth,Icelandic
48、ò#210;Ograve;CapitalO,graveaccent
49、ó#211;Oacute;CapitalO,acuteaccent
50、?#212;Ocirc;CapitalO,circumflex
51、?#214;Ouml;CapitalO,di?esis/umlaut
52、ù#217;Ugrave;CapitalU,graveaccent
53、ú#218;Uacute;CapitalU,acuteaccent
54、?#219;Ucirc;CapitalU,circumflex
55、ü#220;Uuml;CapitalU,di?esis/umlaut
56、Y#221;Yacute;CapitalY,acuteaccent
57、T#222;THORN;CapitalThorn,Icelandic
58、?#223;szlig;Smallsharps,Germansz
59、à#224;agrave;Smalla,graveaccent
60、á#225;aacute;Smalla,acuteaccent
61、?#228;auml;Smalla,di?esis/umlaut
62、è#232;egrave;Smalle,graveaccent
63、é#233;eacute;Smalle,acuteaccent
64、ê#234;ecirc;Smalle,circumflex
65、?#235;euml;Smalle,di?esis/umlaut
66、以上就是小编的分享了,希望能够帮助到大家。