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++){
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 检测 字符串
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接