正则取得字符串的长度 并根据字节截取字符串

/**
 *根据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;
}


 

你可能感兴趣的:(正则取得字符串的长度 并根据字节截取字符串)