十行 js 猎取带有双字节字符的字符串长度

js中没有自带的要领来猎取字符串中包括双字节字符的长度的要领,
网上也有很多人运用正则去婚配双字节字符来完成,
但是有一个题目,就是没法真正的辨别双字节字符和单字节字符;

这里就一下处理上面的题目
运用要领:chatCodeAt和toString()

十行代码处理题目

String.prototype.dbLength = function() {
    var str = this,leg=str.length;
    for (var i in str) {
        if (str.hasOwnProperty(i)) {
            var db = str[i].charCodeAt(0).toString(16).length == 4;
            if (db) leg += 1;
        }
    }
    return leg;
}

说十行就十行,多一行也不写

挪用要领:

'2二'.dbLength();
//3

//日语测试

'的の'.dbLength();
//4

此要领,也处理了韩语,日语等双字节长度题目;

    原文作者:jsoncode
    原文地址: https://segmentfault.com/a/1190000006229064
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞