WEB开发网
开发学院网页设计JavaScript Javascript检测字符串字节长度 阅读

Javascript检测字符串字节长度

 2010-09-14 13:27:10 来源:WEB开发网   
核心提示: 先看看一下两段代码吧,它们分别用for循环和正则表达式来检测字符串的字节长度:for循环检测字符串的字节长度:var lenFor = function(str){var byteLen=0,len=str.length;if(str){for(var i=0; i<len; i++

先看看一下两段代码吧,它们分别用for循环和正则表达式来检测字符串的字节长度:

for循环检测字符串的字节长度:

var lenFor = function(str){
  var byteLen=0,len=str.length;
  if(str){
    for(var i=0; i<len; i++){
      if(str.charCodeAt(i)>255){
        byteLen += 2;
      }
      else{
        byteLen++;
      }
    }
    return byteLen;
  }
  else{
    return 0;
  }
}

正则表达式检测字符串的字节长度:

var lenReg = function(str){
  return str.replace(/[^x00-xFF]/g,'**').length;
};

我用以下代码段对以上两个函数进行测试,主要是测试其运行时间:

var s = '......';//一个很长的字符串,这里不罗列
function a(){
  var timeStart,timeEnd;
  timeStart = new Date();
  var s1 = lenReg(s);
  timeEnd = new Date();
  var t1 = (timeEnd - timeStart)*1000;
  timeStart = new Date();
  var s2 = lenFor(s);
  timeEnd = new Date();
  var t2 = (timeEnd - timeStart)*1000;
  alert('lenReg: ' + s1 + ' time: ' + t1 + 'nlenFor: ' + s2 + ' time: ' + t2);
}
window.onload = function(){
  a();
};

以上代码在浏览器载入完毕的时候弹出一个警示窗口,窗口上有两行信息:第一行是用正则表达式检测的字符串字节长度和所用时间(×1000);第二行是用for循环检测字符串字节长度和所用时间(×1000)。

Tags:Javascript 检测 字符串

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接