• 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>

  • 相关阅读:
    基于ESFramework的P2P实现 —— ESFramework扩展之EsfP2P
    反射中使用 BindingFlags.IgnoreCase
    DTS开发记录(8)-- 主键的影响
    双向链表
    const_iterator和const iterator的区别
    顺序队列
    谈一谈网络编程学习经验
    使用模板元编程快速的得到斐波那契数。。
    数组的选择固定大小数组模板array存在的意义!
    C++查缺补漏2,赶紧的
  • 原文地址:https://www.cnblogs.com/yingjie13/p/3534615.html
Copyright © 2020-2023  润新知