代码改变世界

js 平时经常用的

2010-01-06 19:31  曾祥展  阅读(380)  评论(0编辑  收藏

/** 得到字符串的字符长度(一个汉字占两个字符长)*/

    function getBytesLength(str) {
        
// 在GBK编码里,除了ASCII字符,其它都占两个字符宽
        return str.replace(/[^x00-xff]/g, 'xx').length;
    }

    
/** * 根据字符长来截取字符串  */
    
function subStringByBytes(val, maxBytesLen) {
        
var len = maxBytesLen;
        
var result = val.slice(0, len);
        
while(getBytesLength(result) > maxBytesLen) {
            result = result.slice(0--len);
        }
        
return result;
    }
 
 
 
 
function GetLength (str) {    
    
///<summary>获得字符串实际长度,中文2,英文1</summary>    
    ///<param name="str">要获得长度的字符串</param>    
    var realLength = 0, len = str.length, charCode = -1;    
    
for (var i = 0; i < len; i++) {    
        charCode = str.charCodeAt(i);    
        
if (charCode >= 0 && charCode <= 128) realLength += 1;    
        
else realLength += 2;    
    }    
    
return realLength;    
}


ListBox移除多選項目
移除項目的JS,大部分會忽略掉Remove後項目index的變動,造成無法真正移除多選項目,因此將修正後的Code貼在這裡。
function RemoveListBoxSelected(ListBoxID) {
    
var ListBox = document.getElementById(ListBoxID); 
    
for (i = 0; i < ListBox.options.length; i++) {
        
if (ListBox.options[i].selected) {
            ListBox.remove(i);
            i
--;
        }
    }
}