本文主要介绍了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去除字符串两端空格内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!