javascript字符串与html实体互转

2022-07-29,,,

1、字符串html实体

    ,utf16toEntities : function(str) {
        var patt=/[\ud800-\udbff][\udc00-\udfff]/g; // 检测utf16字符正则
        str = str.replace(patt, function(char){
                var H, L, code;
                if (char.length===2) {
                    H = char.charCodeAt(0); // 取出高位
                    L = char.charCodeAt(1); // 取出低位
                    code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 转换算法
                    return "&#" + code + ";";
                } else {
                    return char;
                }
            });
        return str;
     }

2、html实体转字符串

function entitiestoUtf16(strObj){
            var patt = /&#\d+;/g;
            var H,L,code;
            var arr = strObj.match(patt)||[];
            for (var i=0;i<arr.length;i++){
                code = arr[i];
                code=code.replace('&#','').replace(';','');
                H = Math.floor((code-0x10000) / 0x400)+0xD800;// 计算高位
                L = (code - 0x10000) % 0x400 + 0xDC00;// 计算低位
                code = "&#"+code+";";
                var s = String.fromCharCode(H,L);
                strObj = strObj.replace(code,s);
            }
            return strObj;
        } 

本文地址:https://blog.csdn.net/chen11994/article/details/109247656

《javascript字符串与html实体互转.doc》

下载本文的Word格式文档,以方便收藏与打印。