文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JavaScript去除字符串两端空格的三种方法

2023-03-19 17:54

关注

本文主要介绍了JavaScript去除字符串两端空格的三种方法,具体如下:

//方法一:正则表达式
function _trim(string) {
    // 补全代码
    var reg=/^\s*|\s*$/g;
    //使用正则表达式,\s为空格,^\s为开头的空格,*代表0个或多个,\s*$为结尾的零个或多个空格
    string=string.replace(reg,'');
    return string;    
    //return string.replace(/^\s*|\s*$/g,'');
    //return string.replace(/^\s|\s$/g,'');也能通过测试,*有没有,有几个都没有影响
}
 
//方法二:trim函数:除去字符串开头和末尾的空格
function _trim(string) {
    return string.trim();
}
 
//还有方法三:(法三属实是没想到,看别人的)
let arr = string.split('');
    let num = arr.indexOf(' ');
    // 先去除首端空格
    while (num === 0) {
        arr.splice(num, 1); // 这里可用 arr.shift()
        num = arr.indexOf(' '); // 删除后,重新赋值,再判断
    }
    // 第二步去除尾端空格
    let numRev = arr.indexOf(' ', -1); // -1,从最后一个数字开始查找,顺序从前往后
    while (numRev === arr.length - 1) {
        arr.splice(arr.length - 1, 1) // arr.length - 1,最后一项的索引,可换 arr.pop()
        numRev = arr.indexOf(' ', -1); // 删除后,重新赋值,再判断
    }
    return string = arr.join('');

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

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

 var str = '  abc d e f  g ';
        function trim(str) {
            var reg = /\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(' ').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 = /^[\s]+/g;
                    break;
                case 'right' : // 去除右边
                    Reg = /([\s]*)$/g;
                    break;
                case 'both' : // 去除两边
                    Reg = /(^\s*)|(\s*$)/g
                    break;
                default :   // 没传默认全部,且为下去除中间空格做铺垫
                    Reg = /[\s]+/g;
                    break;
            }
            let newStr = str.replace(Reg,'');
            if ( direction == 'middle' ){
                let RegLeft = str.match(/(^\s*)/g)[0]; // 保存右边空格
                let RegRight = str.match(/(\s*$)/g)[0]; // 保存左边空格
                newStr = RegLeft + newStr + RegRight; // 将空格加给清完全部空格后的字符串
            }
            return newStr;
        }

方法四:也可制定位置参数

function delSpace (str, pos) {
  let reg = /\s+/g
  switch (pos) {
    case 'l':
      reg = /^\s+/g
      break
    case 'r':
      reg = /\s+$/g
      break
    case 'c':
      reg = /(?<=\w)\s+(?=\w)/g
      break
    case 'lr':
      reg = /(^\s+)|(\s+$)/g
      break
    case 'a':
      reg = /\s+/g
      break
  }
 
  return str.replace(reg, '')
}

方法五:与方法四类似,不过采用了原生的语法

function trim(str, pos) {
    let ret = str
    switch(pos) {
        case 'l':
            ret = str.trimStart()
            break
        case 'r':
            ret = str.trimEnd()
            break
        case 'lr':
            ret = str.trimStart().trimEnd()
            break
        case 'm':
            ret = str.replace(/(?<=[^\s])\s*(?=[^\s])/g, '')
            break
        default:
            ret = str.replace(/\s/g,'')
    }
    return ret
}

到此这篇关于JavaScript去除字符串两端空格的三种方法的文章就介绍到这了,更多相关JavaScript去除字符串两端空格内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯