javascript模仿php 函数 trim ltrim rtrim (原创)

javascript模仿php 函数 trim  ltrim rtrim,去除字符串两边空格或其他符号

本文地址:js trim js php trim

 function trims(){
    this.init = function(myarguments){
        if(arguments.length===0){return false;}
        this.arg = myarguments;
        this.len = this.arg.length;
        if(this.len>0){ this.str = this.arg[0]; }
        if(this.len>1){ this.thechar = this.arg[1]; }
        if(typeof this.thechar=='undefined'){
            this.rg_l = new RegExp("^(\\s|\\u00A0)+");
            this.rg_r = new RegExp("\\S");
        }else{
            this.rg_l = new RegExp("^("+this.thechar+")+");
            this.rg_r = new RegExp("[^"+this.thechar+"]{1}");    
        }        
    };
    if (typeof trims._initialized == "undefined") {
        trims.prototype.ltrim = function() {
          this.str = this.str.replace(this.rg_l,'');
        };
        trims.prototype.rtrim = function() {
            for(var i=this.str.length-1; i>=0; i--){
                if(this.rg_r.test(this.str.charAt(i))){  
                    this.str = this.str.substring(0, i+1);  
                    break;
                }
            }
        };
        trims._initialized = true;
    }  
};
var trimsobj = new trims();
function trim(){
    trimsobj.init(arguments);
    trimsobj.ltrim();
    trimsobj.rtrim();
    return trimsobj.str;
}
function rtrim(){
    trimsobj.init(arguments);
    trimsobj.rtrim();
    return trimsobj.str;
}
function ltrim(){
    trimsobj.init(arguments);
    trimsobj.ltrim();
    return trimsobj.str;
}

测试

console.log(trimsobj);
var str = ',,n我们,,';
var xx;
xx = trim(str,',');
document.write('--'+xx+'--');
str = ',,天朗,,';
xx = trim(str,',');
document.write('--'+xx+'--');
str = ',,左侧trim,,';
xx = ltrim(str,',');
document.write('--'+xx+'--');
str = ',,右侧trim,,';
xx = rtrim(str,',');
document.write('--'+xx+'--');
var str = '  n我们  ';
var xx;
xx = trim(str);
document.write('--'+xx+'-- ');
str = '  天朗  ';
xx = trim(str);
document.write('--'+xx+'-- ');
str = '  左侧trim  ';
xx = ltrim(str);
document.write('--'+xx+'-- ');
str = '  右侧trim  ';
xx = rtrim(str);
document.write('--'+xx+'-- ');

 

posted @ 2015-10-08 11:08  goldenstones  阅读(475)  评论(1编辑  收藏  举报