今天小编给大家分享一下JavaScript去除字符串两端空格的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
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 }