JS转换HTML转义符

匿名 (未验证) 提交于 2019-12-02 20:32:16

Razor 将C#对象转换成Javascript对象

在Razor中使用Json字符串,特殊字符被自动转义(如:\"->")

@{     var jsonStr = Html.Raw(JsonUtil.ToJson(VieBag.data)); } <script> var data = JSON.parse(@jsonStr); </script>

ViewBag.Data = list;

<script type="text/javascript">         //将数据对象转换为 JSON 格式,是为了在网页中通过使用JS将数据作为文本进行处理         var data = @Html.Raw(Json.Encode(ViewBag.Data));         for (var i = 0; i < data.length; i++) {             var model=data[i];             console.log("编号:"+model.id+"  姓名:"+model.name+"  性别:"+model.sex);         }             </script>
View Code

var c = document.createElement('div');     c.innerHTML = '@strData';     var arrData = JSON.parse(c.innerText);
View Code

在JS中还原被转码的字符

<script type="text/javascript">     var a = 'h&nbsp;hello&lt;world&gt;!!!&lt;script&gt;alert(1)&lt;/script&gt;'     alert(a);     var c = document.createElement('div');     c.innerHTML = a;     a = c.innerText || c.textContent;     c = null;     alert(a); </script>
View Code

JS转换HTML转义符

//去掉html标签  function removeHtmlTab(tab) {  return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签 } //普通字符转换成转意符  function html2Escape(sHtml) {  return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];}); } //转意符换成普通字符  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];}); } // &nbsp;转成空格  function nbsp2Space(str) {  var arrEntities = {'nbsp' : ' '};  return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]}) } //回车转为br标签  function return2Br(str) {  return str.replace(/\r?\n/g,"<br />"); } //去除开头结尾换行,并将连续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; } // 将多个连续空格合并成一个空格  function mergeSpace(str) {  str=str.replace(/(\s|&nbsp;)+/g,' ');  return str; }
View Code

//去掉html标签

1
2
3
functionremoveHtmlTab(tab) {
returntab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签
}

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

1
2
3
functionhtml2Escape(sHtml) {
returnsHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});
}

//转意符换成普通字符

1
2
3
4
functionescape2Html(str) {
vararrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
returnstr.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){returnarrEntities[t];});
}

// &nbsp;转成空格

1
2
3
4
functionnbsp2Space(str) {
vararrEntities = {'nbsp': ' '};
returnstr.replace(/&(nbsp);/ig, function(all, t){returnarrEntities[t]})
}

//回车转为br标签

1
2
3
functionreturn2Br(str) {
returnstr.replace(/\r?\n/g,"<br />");
}

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

1
2
3
4
5
6
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!