萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript實現的GBK、UTF8字符串實際長度計算函數

JavaScript實現的GBK、UTF8字符串實際長度計算函數

   主要是為了匹配數據庫的長度范圍內,比如GBK的數據庫某字段是varchar(10),那麼就相當於5個漢字長度,一個漢字等於兩個字母長度。如果是UTF8的數據庫則是每個漢字長度為3。

  知道了以上原理以後,我們就可以算出一個字符串的實際長度了,如果是GBK字符集遇到中文加2,如果是UTF8字符集遇到中文加3即可

  GBK長度計算函數:

  代碼如下:

  // GBK字符集實際長度計算

  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{

  // 如果是中文則長度加2

  realLength += 2;

  }

  }

  return realLength;

  }

  UTF8長度計算函數:

  代碼如下:

  // UTF8字符集實際長度計算

  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{

  // 如果是中文則長度加3

  realLength += 3;

  }

  }

  return realLength;

  }

copyright © 萬盛學電腦網 all rights reserved