zoukankan      html  css  js  c++  java
  • Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符

    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(/
    ?
    /g,"<br />");
    }
    //去除开头结尾换行,并将连续3次以上换行转换成2次换行
    
    function trimBr(str) {
     str=str.replace(/((s|&nbsp;)*
    ?
    ){3,}/g,"
    
    ");//限制最多2次换行
     str=str.replace(/^((s|&nbsp;)*
    ?
    )+/g,'');//清除开头换行
     str=str.replace(/((s|&nbsp;)*
    ?
    )+$/g,'');//清除结尾换行
     return str;
    }
    // 将多个连续空格合并成一个空格
    
    function mergeSpace(str) {
     str=str.replace(/(s|&nbsp;)+/g,' ');
     return str;
    }
    View Code

    //去掉html标签

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

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

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

    //转意符换成普通字符

    1
    2
    3
    4
    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;转成空格

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

    //回车转为br标签

    1
    2
    3
    function return2Br(str) {
     return str.replace(/ ? /g,"<br />");
    }

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

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

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

    1
    2
    3
    4
    function mergeSpace(str) {
     str=str.replace(/(s|&nbsp;)+/g,' ');
     return str;
    }
  • 相关阅读:
    hdu 1873 看病要排队
    母函数详解
    【RDMA】无损网络和PFC(基于优先级的流量控制)
    图解Linux网络包接收过程
    结对编程 <==> 断背山?
    CMPP和SMPP协议比较
    Berkerly DB、SQL Server的性能比较
    使用Berkeley DB遇到问题了
    重新学习C语言
    超长短信的处理办法
  • 原文地址:https://www.cnblogs.com/love201314/p/10344755.html
Copyright © 2011-2022 走看看