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+'-- ');

javascript模仿php 函数 trim ltrim rtrim (原创)的更多相关文章

  1. javascript对字符串的常见操作trim,ltrim,rtrim,isEmpty,isFloat等

    1.验证字符串是否为空格.是否包含非法字符. //验证是否字符串有非法字符 function v_invalide_char(value,msg){ var arr = ['#','@','!','$ ...

  2. mysql向表中某字段前后追加一段字符串 concat(), trim(), ltrim(), rtrim(), repeat()

    1.mysql向表中某字段后面追加一段字符串:update table_name set field=CONCAT(field, '分隔符', str);//'分隔符',可以为空,也可以省略updat ...

  3. TRIM ,LTRIM ,RTRIM ,空格过滤

  4. JavaScript去除空格的三种方法(正则/传参函数/trim)

    方法一: 个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 其次.这个方法使用了JavaScript 的prototype 属性 其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较 ...

  5. Javascript学习之函数(function)

    在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针. 一 函 ...

  6. PHP字符串函数-trim()实例用法

    string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )此函数返回字符串 str 去除首尾空白字符后的 ...

  7. 去除前后空格,Oracle和SQLSERVER都适用。ltrim(rtrim(’ ‘))

    Oracle自带去除方法:trim(). 但是sql语法中没有直接去除两头空格的函数,但有ltrim()去除左空格rtrim()去除右空格. 合起来用就是sql的trim()函数,即select lt ...

  8. javascript立即执行函数

    javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花;当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解.  ( ...

  9. JavaScript 立即执行函数

    js中(function(){…})()立即执行函数写法理解 javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法 ...

随机推荐

  1. bootstrap加深

    1.安装: bootstrap中文网:http://www.bootcss.com/ bootstrap.css样式:http://v3.bootcss.com/css/#tables class=' ...

  2. MySQL中文全文检索

    一.概述      MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度. 二.语法      MATCH (col1,col2,...) AGAINS ...

  3. java线程生命周期及其对应方法

    http://blog.sina.com.cn/s/blog_a8aa82cc0101ktrm.html http://wenku.baidu.com/view/c242df69011ca300a6c ...

  4. OC-数组排序-NSSortDescriptor使用

    OC-数组排序-NSSortDescriptor使用 在Object-c中,当有一个班级类MyClass,还有一个学生类Student.在班级类MyClass中通过一个可变数组NSMutableArr ...

  5. Nhiberate (一)

    严重参考感谢:@wolfy 操作数据库一直都是直接写SQL语句, 接触的ORM框架也不多,新项目要用数据库,数据库访问采用NHibernate. 1. NHibernate 是基于.Net 的针对关系 ...

  6. s3c2440 test 里面的一些用法

    #define REQ_INFO 0x60U     U代表无符号,unsignchar

  7. 在Unity中如何取得一个Box的Bounds

    private BoxCollider mCollider; // Use this for initialization void Start () { mCollider = GetCompone ...

  8. vsftpd.conf 怎么保存

    引用:http://zhidao.baidu.com/question/169939742.html vsftpd.conf 用vim编辑后如何保存?网上很多我都看了 esc 然后shift+ 不好使 ...

  9. Arduino示例教程超声波测距实验

    超声波传感器 超声波是一种超出人类听觉极限的声波即其振动频率高于20 kHz的机械波.超声波传感器在工作的时候就是将电压和超声波之间的互相转换,当超声波传感器发射超声波时,发射超声波的探头将电压转化的 ...

  10. Git Permission denied (publickey).

    有可能, jenkins slave service or jenkins service的logon 账户没有设置好