zoukankan      html  css  js  c++  java
  • js去掉字符串前后空格的五种方法

    转载 :http://www.2cto.com/kf/201204/125943.html

    第一种:循环检查替换
    [javascript]
    //供使用者调用  
    function trim(s){  
    return trimRight(trimLeft(s));  
    }  
    //去掉左边的空白  
    function trimLeft(s){  
    if(s == null) {  
    return "";  
    }  
    var whitespace = new String(" ");  
    var str = new String(s);  
    if (whitespace.indexOf(str.charAt(0)) != -1) {  
    var j=0, i = str.length;  
    while (j < i && whitespace.indexOf(str.charAt(j)) != -1){  
    j++;  
    }  
    str = str.substring(j, i);  
    }  
    return str;  
    }  
    //去掉右边的空白 www.2cto.com   
    function trimRight(s){  
    if(s == null) return "";  
    var whitespace = new String(" ");  
    var str = new String(s);  
    if (whitespace.indexOf(str.charAt(str.length-1)) != -1){  
    var i = str.length - 1;  
    while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){  
    i--;  
    }  
    str = str.substring(0, i+1);  
    }  
    return str;  

    第二种:正则替换
    [javascript]
    <SCRIPT LANGUAGE="JavaScript">  
    <!--  
    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> 
    第三种:使用jquery
    [javascript]
    $.trim(str) 
    jquery内部实现为:
    [javascript]
    function trim(str){   
        return str.replace(/^(s|u00A0)+/,'').replace(/(s|u00A0)+$/,'');   
    }   
    第四种:使用motools
    [javascript]
    function trim(str){   
        return str.replace(/^(s|xA0)+|(s|xA0)+$/g, '');   
    }  
    第五种:裁剪字符串方式
    [javascript]
    function trim(str){   
        str = str.replace(/^(s|u00A0)+/,'');   
        for(var i=str.length-1; i>=0; i--){   
            if(/S/.test(str.charAt(i))){   
                str = str.substring(0, i+1);   
                break;   
            }   
        }   
        return str;   
    }  
    经过测试第五种方法在处理长字符串时效率最高。

    第五种例子

    <script type="text/javascript">

    var str= ' 我你的';

    alert(trim(str));

    function trim(str){
    str = str.replace(/^(s|u00A0)+/,'');
    for(var i=str.length-1; i>=0; i--){
    if(/S/.test(str.charAt(i))){
    str = str.substring(0, i+1);
    break;
    }
    }
    return str;
    }
    </script>

  • 相关阅读:
    316 Remove Duplicate Letters 去除重复字母
    315 Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
    313 Super Ugly Number 超级丑数
    312 Burst Balloons 戳气球
    309 Best Time to Buy and Sell Stock with Cooldown 买股票的最佳时间含冷冻期
    Java 类成员的初始化顺序
    JavaScript 全局
    HTML字符实体
    Java中的toString()方法
    JavaScript 弹窗
  • 原文地址:https://www.cnblogs.com/yingjie13/p/3534615.html
Copyright © 2011-2022 走看看