WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院网页设计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 检测 字符串

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