ndfweb.cn

JS实现HTML标签转义及反转义


2021-03-26 10:00:22 (4336)


JS转换HTML转义符

//去掉html标签

function removeHtmlTab(tab) {return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签}
  123

//普通字符转换成转意符

function html2Escape(sHtml) {return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});}
  123

//转意符换成普通字符

function escape2Html(str) {var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});}
  1234

//  转成空格

function nbsp2Space(str) {var arrEntities = {'nbsp' : ' '};return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})}
  1234

//回车转为br标签

function return2Br(str) {return str.replace(/\r?\n/g,"<br />");}
  123

//去除开头结尾换行,并将连续3次以上换行转换成2次换行

function trimBr(str) {str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,'');//清除开头换行str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,'');//清除结尾换行return str;}
  123456

// 将多个连续空格合并成一个空格

function mergeSpace(str) {str=str.replace(/(\s|&nbsp;)+/g,' ');return str;}
  1234

JS编码解码 
一、定义和用法 
encodeURI() 函数可把字符串作为 URI 进行编码。

语法 
encodeURI(URIstring) 
参数 描述 
URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。 
返回值 
URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明 
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

提示和注释 
提示:如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。

此方法的解码为decodeURI()

二、定义和用法

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

语法 
escape(string) 
参数 描述 
string 必需。要被转义或编码的字符串。 
返回值 
已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。

说明 
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( ) 。其他所有的字符都会被转义序列替换。

提示和注释 
提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。

注释:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。

三、JavaScript encodeURIComponent() 函数

定义和用法 
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

语法 
encodeURIComponent(URIstring) 
参数 描述 
URIstring 必需。一个字符串,含有 URI 组件或其他要编码的文本。 
返回值 
URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明 
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

提示和注释 
提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。 
此方法解码方式decodeURIComponent


HTML转义字符




字符十进制转义字符
"&#34;&quot;
&&#38;&amp;
<&#60;&lt;
>&#62;&gt;
不断开空格(non-breaking space)&#160;&nbsp;
HTML特殊转义字符对照表
字符十进制转义字符字符十进制转义字符字符十进制转义字符
?&#161;&iexcl;Á&#193;&Aacute;á&#225;&aacute;
&#162;&cent;Â&#194;&circ;â&#226&acirc;
&#163;&pound;Ã&#195;&Atilde;ã&#227;&atilde;
¤&#164;&curren;Ä&#196;&Aumlä&#228;&auml;
&#165;&yen;Å&#197;&ring;å&#229;&aring;
|&#166;&brvbar;Æ&#198;&AElig;æ&#230;&aelig;
§&#167;&sect;Ç&#199;&Ccedil;ç&#231;&ccedil;
¨&#168;&uml;È&#200;&Egrave;è&#232;&egrave;
©&#169;&copy;É&#201;&Eacute;é&#233;&eacute;
a&#170;&ordf;Ê&#202;&Ecirc;ê&#234;&ecirc;
?&#171;&laquo;Ë&#203;&Euml;ë&#235;&euml;
?&#172;&not;Ì&#204;&Igrave;ì&#236;&igrave;
/x7f&#173;&shy;Í&#205;&Iacute;í&#237;&iacute;
®&#174;&reg;Î&#206;&Icirc;î&#238;&icirc;
ˉ&#175;&macr;Ï&#207;&Iuml;ï&#239;&iuml;
°&#176;&deg;Ð&#208;&ETH;ð&#240;&ieth;
±&#177;&plusmn;Ñ&#209;&Ntilde;ñ&#241;&ntilde;
2&#178;&sup2;Ò&#210;&Ograve;ò&#242;&ograve;
3&#179;&sup3;Ó&#211;&Oacute;ó&#243;&oacute;
&#180;&acute;Ô&#212;&Ocirc;ô&#244;&ocirc;
μ&#181;&micro;Õ&#213;&Otilde;õ&#245;&otilde;
?&#182;&para;Ö&#214;&Ouml;ö&#246;&ouml;
·&#183;&middot;&times;&#215;&times;÷&#247;&divide;
?&#184;&cedil;Ø&#216;&Oslash;ø&#248;&oslash;
1&#185;&sup1;Ù&#217;&Ugrave;ù&#249;&ugrave;
o&#186;&ordm;Ú&#218;&Uacute;ú&#250;&uacute;
?&#187;&raquo;Û&#219;&Ucirc;û&#251;&ucirc;
?&#188;&frac14;Ü&#220;&Uuml;ü&#252;&uuml;
?&#189;&frac12;Ý&#221;&Yacute;ý&#253;&yacute;
?&#190;&frac34;Þ&#222;&THORN;þ&#254;&thorn;
?&#191;&iquest;ß&#223;&szlig;ÿ&#255;&yuml;
À&#192;&Agrave;à&#224;&agrave;



了解更多请访问:http://www.ndfweb.cn/news-834.html
  NDF俱乐部
  国际域名注册
  建站咨询
合作伙伴:万网 | 新网 | 新网互联 NDF网站建设淘宝店 | 实用工具 | 外貿網站建設 | 联系我们
鲁公网安备 37110202000336号 鲁ICP备2021027697号-1 Sitemap - RSSRSS订阅