javascript 如何去掉空格

 我来答
0动感蚂蚁0
2017-01-17 · TA获得超过391个赞
知道小有建树答主
回答量:177
采纳率:100%
帮助的人:126万
展开全部

去掉空格的本质就是将字符串中的空字符串删除,根据这个解决思路,我们有多种解决方法。

方法一:遍历法。遍历字符串中的字符保留有效字符

function trim(str){
    var i;
    var rst = '';
    for(i=0;i<str.length;i++){
        var c = str.charAt(i);
        if(c!==" "){
            rst = rst + c;
        }
    }
    return rst;
}
var testStr = " te s t  ";
testStr = trim(testStr);
console.log(testStr );
//test

方法二:利用数组。利用数组特性简化代码

function trim(str){
    var chars = str.split(" ");
    return chars.join('');
}
var testStr = " te s t  ";
testStr = trim(testStr);
console.log(testStr );
//test

方法三:递归法。利用正则表达式递归去除空格符

function trim(str) {
  return str.replace(/(^\s+)|(\s+$)/g, "");
}
var testStr = " te s t  ";
testStr = trim(testStr);
console.log(testStr );
//test

方法四:利用jquery.js。如果你使用jquery,可以使用jquery里的trim函数

var testStr = " te s t  ";
testStr = $.trim(testStr);
console.log(testStr );
//test
黑马程序员
2017-03-16 · 改变中国IT教育,我们正在行动
黑马程序员
黑马程序员为大学毕业后,有理想、有梦想,想从事IT行业的年轻人改变自己的命运。黑马程序员成就IT黑马
向TA提问
展开全部

一、去掉字符串前后所有空格

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

说明:

如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串。

二、去掉字符串中所有空格(包括中间空格,需要设置第2个参数为:g)

 function Trim(str,is_global)
        {
            var result;
            result = str.replace(/(^\s+)|(\s+$)/g,"");
            if(is_global.toLowerCase()=="g")
            {
                result = result.replace(/\s/g,"");
             }
            return result;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菜菜的小菜花
2016-12-14 · 小菜花的菜铺,菜菜的小菜花
菜菜的小菜花
采纳数:159 获赞数:174

向TA提问 私信TA
展开全部
  1. 可以使用自带的函数trim,如:var str = " a b c "; str = str.trim();这种方法用起来比较简单方便。

  2. 可以用正则表达式进行匹配,蒋空格replace或者replaceAll替换掉。如:

    删除左右两端的空格str.replace(/(^\s*)|(\s*$)/g, "");
    删除左边的空格    str.replace(/(^\s*)/g,"");

  3. 删除右边的空格    str.replace(/(\s*$)/g,"");
  4. 可以用自定义trim函数,如:

    function trim(str) {
           var count = str.length;
           var st = 0; // start
           var end = count - 1; // end
           if (str == "")
               return s;
           while (st < count) {
               if (str.charAt(st) == " ")
                   st++;
               else
                   break;
           }
           while (end > st) {
               if (str.charAt(end) == " ")
                   end--;
               else
                   break;
           }
           return str.substring(st, end + 1);
       }

  5. 可以将str传换成字符数组,然后每个元素进行匹配,如果是空格,就移除,最后再转换成字符串。

  6. 具体情况具体分析。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z丶Z灬
2016-12-15 · 超过15用户采纳过TA的回答
知道答主
回答量:26
采纳率:100%
帮助的人:15.1万
展开全部
如果是要去掉首尾的空格,直接调用trim()方法,例如:" str ".trim()的返回值是"str"
如果是要去掉字符串中间的空格,就用replace(),例如:"str 1".replace(/\ /, ""),返回值是"str1"(%s是表示所有的空字符,包括空格,制表符等等)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zeus妖妖
2016-11-28 · TA获得超过117个赞
知道答主
回答量:118
采纳率:0%
帮助的人:72.6万
展开全部
jquery本身自带了trim方法,实现方式如下:

1、$.trim(" abc ") // abc

同样也可以使用一下自己编写的方法用正则表达式进行除去空格 :
方法体:
function trim(str) {
return str.replace(/(^\s+)|(\s+$)/g, "");
}
调用
trim(" abc ") // =abc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式