本文总结了JavaScript中去除字符串空格的各种方法。首先介绍了不使用正则表达式的手动遍历方式,分别实现左、右及双向空格的去除逻辑。随后重点讲解利用正则表达式进行替换的技巧,包括全局替换和针对首尾空格的精准处理,并提供完整的代码示例供开发者参考。
基于手动遍历的空格去除方法
代码示例如下:
// 移除字符串起始空格(左侧空格)
function LTrim(str){
var i;
for(i=0;i<str.length; i++) {
if(str.charAt(i)!=" ") break;
}
str = str.substring(i,str.length);
return str;
}
// 移除字符串末尾空格(右侧空格)
function RTrim(str){
var i;
for(i=str.length-1;i>=0;i--){
if(str.charAt(i)!=" ") break;
}
str = str.substring(0,i+1);
return str;
}
// 移除字符串首尾空格(左右两侧)
function Trim(str){
return LTrim(RTrim(str));
} 移除字符串中所有空白字符的函数
JavaScript移除字符串空格函数
代码示例如下:
function Jtrim(str)
{
var i = 0;
var len = str.length;
if ( str == "" ) return( str );
j = len -1;
flagbegin = true;
flagend = true;
while (( flagbegin == true) && (i< len))
{
if ( str.charAt(i) == " " )
{
i=i+1;
flagbegin=true;
}
else
{
flagbegin=false;
}
}
while ((flagend== true) && (j>=0))
{
if (str.charAt(j)==" ")
{
j=j-1;
flagend=true;
}
else
{
flagend=false;
}
}
if ( i > j ) return ("");
trimstr = str.substring(i,j+1);
return trimstr;
} 基于正则表达式的空格处理方案
上述方法未使用正则表达式,下面尝试使用正则表达式处理
利用正则表达式替换空格
代码示例如下:
//移除字符串中间空格
String.prototype.Trim = function() {
return this.replace(/(^s*)|(s*$)/g, "");
}
//移除字符串左侧空格
String.prototype.LTrim = function() {
return this.replace(/(^s*)/g, "");
}
//移除字符串右侧空格
String.prototype.RTrim = function() {
return this.replace(/(s*$)/g, "");
} 移除所有空格
代码示例如下:
var s = "asd ddd bbb sss";
var reg = /s/g;
var ss = s.replace(reg, "");
alert(ss); 移除字符串中所有空格(含中间空格,需将第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;
}