1. 程式人生 > >正則取得字串的長度 並根據位元組擷取字串

正則取得字串的長度 並根據位元組擷取字串

/**
 *根據byte擷取字串 len:擷取長度
 */
String.prototype.substrb = function(len){
	var str1;  
    if(this.lengthb() <= len){  
        return this;  
    }  
    for(i = len/2;i < this.length;i ++){  
        str1 = this.substr(0,i);  
        if(str1.lengthb() == len){  
            return str1;  
        }else if(str1.lengthb() > len){  
            return this.substr(0,i-1);
        }else {
                 //不可以和 【if (str1.lengthb() == len) 】合併 此防止前面均為半形,後面為全形情況
                 if(str1.lengthb()==len-1){
                    return str1;
                }
            }  
    }  
}
/**
 * 根據byte取得字串長度
 */
String.prototype.lengthb = function(){
	return this.replace(/[^\x00-\xff]/g, '**').length;
}