【Avalon】escape

发布时间:2017-1-22 11:35:48 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"【Avalon】escape ",主要涉及到【Avalon】escape 方面的内容,对于【Avalon】escape 感兴趣的同学可以参考一下。

[\uD800-\uDBFF][\uDC00-\uDFFF]

var rsurrogate = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g
var rnoalphanumeric = /([^\#-~| |!])/g
var escape = function(str) {
    //将字符串经过 str 转义得到适合在页面中显示的内容, 例如替换 < 为 &lt
    return String(str).
            replace(/&/g, '&amp;').
            replace(rsurrogate, function(value) {
                console.log('============')
                console.log(value)
                var hi = value.charCodeAt(0)
                var low = value.charCodeAt(1)
                return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';'
            }).
            replace(rnoalphanumeric, function(value) {
                console.log('------------')
                console.log(value)
                return '&#' + value.charCodeAt(0) + ';'
            }).
            replace(/</g, '&lt;').
            replace(/>/g, '&gt;')
}

str = 'abcdefg123456789[aa]0中过<div>&copy;| !---</div>'
console.log(str)
console.log(escape(str))
// abcdefg123456789[aa]0&#20013;&#36807;&lt;div&gt;&amp;copy;| !---&lt;/div&gt;

var r = /([^\#-~| |!])/g // 排除\#-~  或 空格 或 ! 得到匹配中文
var r1 = /([^\#-~])/g // # -(to) ~

console.log(r.test('12 ji'))

//var rr = /[\u4e00-\u9fa5]/g
//console.log(rr.test('12聚宽'))

上一篇:图像处理的云实验
下一篇:二进制通用公式

相关文章

相关评论