最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)的GBK、UTF8字符串實(shí)際長(zhǎng)度計(jì)算函數(shù)

 更新時(shí)間:2014年08月27日 09:33:42   投稿:junjie  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的GBK、UTF8字符串實(shí)際長(zhǎng)度計(jì)算函數(shù),需要的朋友可以參考下

大家都知道,在JS中字符串的長(zhǎng)度不分中英文字符, 每一個(gè)字符都算一個(gè)長(zhǎng)度,這跟PHP里的strlen()函數(shù)就不太一樣。PHP里的strlen()函數(shù)根據(jù)字符集把GBK的中文每個(gè)2累加,把UTF-8的中文字符每個(gè)按3累加。

有些童鞋可能要問了,為什么要計(jì)算實(shí)際長(zhǎng)度?

主要是為了匹配數(shù)據(jù)庫的長(zhǎng)度范圍內(nèi),比如GBK的數(shù)據(jù)庫某字段是varchar(10),那么就相當(dāng)于5個(gè)漢字長(zhǎng)度,一個(gè)漢字等于兩個(gè)字母長(zhǎng)度。如果是UTF8的數(shù)據(jù)庫則是每個(gè)漢字長(zhǎng)度為3。

知道了以上原理以后,我們就可以算出一個(gè)字符串的實(shí)際長(zhǎng)度了,如果是GBK字符集遇到中文加2,如果是UTF8字符集遇到中文加3即可
GBK長(zhǎng)度計(jì)算函數(shù):

復(fù)制代碼 代碼如下:

// GBK字符集實(shí)際長(zhǎng)度計(jì)算
function getStrLeng(str){
    var realLength = 0;
    var len = str.length;
    var charCode = -1;
    for(var i = 0; i < len; i++){
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) {
            realLength += 1;
        }else{
            // 如果是中文則長(zhǎng)度加2
            realLength += 2;
        }
    }
    return realLength;
}

UTF8長(zhǎng)度計(jì)算函數(shù):
復(fù)制代碼 代碼如下:

// UTF8字符集實(shí)際長(zhǎng)度計(jì)算
function getStrLeng(str){
    var realLength = 0;
    var len = str.length;
    var charCode = -1;
    for(var i = 0; i < len; i++){
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) {
            realLength += 1;
        }else{
            // 如果是中文則長(zhǎng)度加3
            realLength += 3;
        }
    }
    return realLength;
}

相關(guān)文章

  • JWT構(gòu)成及工作原理

    JWT構(gòu)成及工作原理

    這篇文章介紹了JWT構(gòu)成及工作原理,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • Javascript實(shí)例教程(19) 使用HoTMetal(5)

    Javascript實(shí)例教程(19) 使用HoTMetal(5)

    Javascript實(shí)例教程(19) 使用HoTMetal(5)...
    2006-12-12
  • 網(wǎng)頁編輯器ckeditor和ckfinder配置步驟分享

    網(wǎng)頁編輯器ckeditor和ckfinder配置步驟分享

    ckeditor+ckfinder配置用法,現(xiàn)在ckeditor是互聯(lián)網(wǎng)上應(yīng)用比較廣泛的網(wǎng)頁編輯器了,這里介紹下配置方法,需要的朋友可以參考下
    2012-05-05
  • 詳解JavaScript 為什么要有 Symbol 類型?

    詳解JavaScript 為什么要有 Symbol 類型?

    這篇文章主要介紹了JavaScript 為什么要有 Symbol 類型,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 超全面的javascript中變量命名規(guī)則

    超全面的javascript中變量命名規(guī)則

    javascript 有三大經(jīng)典的變量命名法:匈牙利命名法,駝峰式命名法和帕斯卡命名法。今天主要介紹下這三種命名方式。文中通過示例代碼介紹的很詳細(xì),有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • JS獲取url鏈接字符串 location.href

    JS獲取url鏈接字符串 location.href

    有時(shí)候我們需要獲取當(dāng)前網(wǎng)頁的網(wǎng)址,方便我們判斷,一般情況我們都是通過location.href來獲取
    2013-12-12
  • JavaScript中String.match()方法的使用詳解

    JavaScript中String.match()方法的使用詳解

    這篇文章主要介紹了JavaScript中String.match()方法的使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • js轉(zhuǎn)義字符介紹

    js轉(zhuǎn)義字符介紹

    有時(shí)候js得到j(luò)son串中含有"<"和">" ,那么兩個(gè)尖括號(hào)中間的文字是無法在html頁面顯示出來的,必須用轉(zhuǎn)義字符
    2013-11-11
  • DOM精簡(jiǎn)教程

    DOM精簡(jiǎn)教程

    DOM精簡(jiǎn)教程...
    2006-10-10
  • javaScript NameSpace 簡(jiǎn)單說明介紹

    javaScript NameSpace 簡(jiǎn)單說明介紹

    命名空間,一看就知道主要目的是為了避免沖突。下面就來說一下如何打造自己的JavaScript命名空間。
    2013-07-07

最新評(píng)論

米泉市| 忻城县| 连云港市| 许昌市| 栖霞市| 息烽县| 赣榆县| 重庆市| 香港 | 崇义县| 和顺县| 松原市| 洪雅县| 淳化县| 乐昌市| 信阳市| 磴口县| 林甸县| 阿荣旗| 乐业县| 绍兴市| 彩票| 霍城县| 临桂县| 绥滨县| 玉门市| 郸城县| 马边| 金乡县| 托里县| 青州市| 温宿县| 灵丘县| 衡阳县| 井陉县| 吉安市| 西畴县| 共和县| 普陀区| 德州市| 宁南县|