美文网首页我爱编程程序员让前端飞
js去掉字符串前后空格的五种方法

js去掉字符串前后空格的五种方法

作者: 一个敲代码的前端妹子 | 来源:发表于2018-05-14 18:03 被阅读0次

    第一种:循环检查替换
    [javascript]
    //供使用者调用
    function trim(s){
    return trimRight(trimLeft(s));
    }
    //去掉左边的空白
    function trimLeft(s){
    if(s == null) {
    return "";
    }
    var whitespace = new String(" \t\n\r");
    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(" \t\n\r");
    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">

    </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;
    }
    经过测试第五种方法在处理长字符串时效率最高。

    相关文章

      网友评论

        本文标题:js去掉字符串前后空格的五种方法

        本文链接:https://www.haomeiwen.com/subject/twvjdftx.html