JavaScript---去除字符串中的空格(五种方式,总有一种适合你)

53 篇文章 1 订阅
46 篇文章 3 订阅

方法1:(最常用)全部去除掉空格

 var str = '  abc d e f  g ';
        function trim(str) {
            var reg = /[\t\r\f\n\s]*/g;
            if (typeof str === 'string') {
                var trimStr = str.replace(reg,'');
            }
            console.log(trimStr)
        }
        trim(str)

方法二:(强烈推荐)全部去除


function trimAll(ele){
    if(typeof ele === 'string'){
       return ele.split(/[\t\r\f\n\s]*/g).join('');
           
    }else{
        console.error(`${typeof ele} is not the expected type, but the string type is expected`)
    }
  
}

trimAll(str)  // 1234456

方法三:指定位置清楚空格(第二个参数控制位置)

function deleSpac(str,direction) { // 1 串的模板 2 清除哪边空格
            if(typeof str !== 'string'){ // 限制下条件,必须是字符串
                 console.error(`${typeof ele} is not the expected type, but the string type is expected`)
                return false
            }
            let Reg = '';
            switch(direction) {
                case 'left' : // 去除左边
                    Reg = /^[\t\r\f\n\s]+/g;
                    break;
                case 'right' : // 去除右边
                    Reg = /([\t\r\f\n\s]+)$/g;
                    break;
                case 'both' : // 去除两边
                    Reg = /(^[\t\r\f\n\s]*)|([\t\r\f\n\s]*$)/g
                    break;
                default :   // 没传默认全部,且为下去除中间空格做铺垫
                    Reg = /[\t\r\f\n\s]*/g;
                    break;
            }
            let newStr = str.replace(Reg,'');
            if ( direction == 'middle' ){
                let RegLeft = str.match(/(^[\t\r\f\n\s]*)/g)[0]; // 保存右边空格
                let RegRight = str.match(/([\t\r\f\n\s]*$)/g)[0]; // 保存左边空格
                newStr = RegLeft + newStr + RegRight; // 将空格加给清完全部空格后的字符串
            }
            return newStr;
        }

2023年3月23日改动点:添加一下空格去除,完善了去除空格不能去除制表符等其他类型的空格

  • \f 匹配换页字符.
  • \n 匹配换行字符.
  • \r 匹配回车符字符.
  • \t 匹配制表字符tab.
  • \v 匹配垂直制表符.
  • 22
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝世唐门三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值