zoukankan      html  css  js  c++  java
  • JavaScript去除空格的几种方法 (trim)



    方法一:
    个人认为最好的方法.采用的是正则表达式,这是最核心的原理.
    其次.这个方法使用了JavaScript的prototype 属性

    其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较方便.
    下面就来看看这个属性是怎么来用的.
     
     引用内容

    返回对象类型原型的引用。

    objectName.prototype
    objectName 参数是对象的名称。

    说明
    用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。

    例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype,并使用它。

    function array_max( ){
       var i, max = this[0];
       for (i = 1; i < this.length; i++)
       {
       if (max < this[i])
       max = this[i];
       }
       return max;
    }
    Array.prototype.max = array_max;
    var x = new Array(1, 2, 3, 4, 5, 6);
    var y = x.max( );
    该代码执行后,y 保存数组 x 中的最大值,或说 6。

    所有 JScript 内部对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。

    本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是。


    下面是代码原文
     
     程序代码

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    //出处:网上搜集
    //made by yaosansi 2005-12-02
    //For more visit http://www.yaosansi.com
    // Trim() , Ltrim() , RTrim()

    String.prototype.Trim = function()
    {
    return this.replace(/(^\s*)|(\s*$)/g, "");
    }

    String.prototype.LTrim = function()
    {
    return this.replace(/(^\s*)/g, "");
    }

    String.prototype.RTrim = function()
    {
    return this.replace(/(\s*$)/g, "");
    }

    //-->
    </SCRIPT>


    下面来我们来看看Js脚本中"/s表示什么"
     
     引用内容


    \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
     


    请紧记是小写的s


    方法二:
    由于使用方法简单,所以这里就不举例子了.
     
     引用内容


    //javascript去空格函数
    function LTrim(str){ //去掉字符串 的头空格
    var i;
    for(i=0;i if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break;
    }
    str = str.substring(i,str.length);
    return str;
    }
    function RTrim(str){
    var i;
    for(i=str.length-1;i>=0;i--){
    if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break;
    }
    str = str.substring(0,i+1);
    return str;
    }
    function Trim(str){

    return LTrim(RTrim(str));

    }


    方法三:
    这个方法将函数写在一起,通过传递参数不同而达到不同的实现效果
     
     引用内容


    <HTML>
    <HEAD>
    <TITLE>JavaScript Trim Function</TITLE>
    <SCRIPT LANGUAGE=javascript>
    <!--
    //****************************************************************
    // Description: sInputString 为输入字符串,iType为类型,分别为
    // 0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格
    //****************************************************************
    function cTrim(sInputString,iType)
    {
    var sTmpStr = ' '
    var i = -1

    if(iType == 0 || iType == 1)
    {
    while(sTmpStr == ' ')
    {
    ++i
    sTmpStr = sInputString.substr(i,1)
    }
    sInputString = sInputString.substring(i)
    }

    if(iType == 0 || iType == 2)
    {
    sTmpStr = ' '
    i = sInputString.length
    while(sTmpStr == ' ')
    {
    --i
    sTmpStr = sInputString.substr(i,1)
    }
    sInputString = sInputString.substring(0,i+1)
    }
    return sInputString
    }
    //-->
    </SCRIPT>
    </HEAD>

    <BODY>
    JavaScript中的字符串去除空格函数(自定义):<br>

    <SCRIPT LANGUAGE=javascript>
    <!--
    var sR0 = cTrim(" T e s t ",0)
    var sR1 = cTrim(" T e s t ",1)
    var sR2 = cTrim(" T e s t ",2)
    document.write("R0 = '" + sR0 + "'<br>")
    document.write("R1 = '" + sR1 + "'<br>")
    document.write("R2 = '" + sR2 + "'<br>")
    //-->
    </SCRIPT>

    </BODY>
    </HTML>

    function trimStr(str) { 
     
    var re = /\s*(\S[^\0]*\S)\s*/
     re.exec(str); 
     
    return RegExp.$1
    }


     



     

  • 相关阅读:
    520了,用32做个简单的小程序
    安装 部署 postgresql数据库 搭建主从节点 (业务库)
    年轻就该多尝试,教你20小时Get一项新技能
    谷歌搜索进阶(二)
    谷歌搜索进阶(一)
    Linux进程前后台管理(&,fg, bg)
    VTF/AMROC安装指南
    神经网络学习笔记(三):三种典型的架构
    神经网络学习笔记(二):feedforward和feedback
    神经网络学习笔记(一)
  • 原文地址:https://www.cnblogs.com/goody9807/p/1083703.html
Copyright © 2011-2022 走看看