js去字符串前后空格的实现方法
当我们进行一些页面编辑时,字符串前后的空格,通常是无效的。因此需要在获取信息时,进行过滤。
比如:
输入:[空格][空格]a[空格]b[空格][空格][空格]
得到:a[空格]b
代码如下:
去掉前面的空格
functionLTrim(str){
vari;
for(i=0;i<str.length;i++){
if(str.charAt(i)!="")
break;
}
str=str.substring(i,str.length);
returnstr;
}
去掉后面的空格
functionRTrim(str){
vari;
for(i=str.length-1;i>=0;i--){
if(str.charAt(i)!="")
break;
}
str=str.substring(0,i+1);
returnstr;
}
使用方法
functionTrim(str){
returnLTrim(RTrim(str));
}
【推荐】使用正则的方式
String.prototype.Trim=function(){
returnthis.replace(/(^\s*)|(\s*$)/g,"");
}
String.prototype.LTrim=function(){
returnthis.replace(/(^\s*)/g,"");
}
String.prototype.RTrim=function(){
returnthis.replace(/(\s*$)/g,"");
}
补充一些其他方法:
第一种:循环检查替换
//供使用者调用
functiontrim(s){
returntrimRight(trimLeft(s));
}
//去掉左边的空白
functiontrimLeft(s){
if(s==null){
return"";
}
varwhitespace=newString("\t\n\r");
varstr=newString(s);
if(whitespace.indexOf(str.charAt(0))!=-1){
varj=0,i=str.length;
while(j<i&&whitespace.indexOf(str.charAt(j))!=-1){
j++;
}
str=str.substring(j,i);
}
returnstr;
}
//去掉右边的空白www.nhooo.com
functiontrimRight(s){
if(s==null)return"";
varwhitespace=newString("\t\n\r");
varstr=newString(s);
if(whitespace.indexOf(str.charAt(str.length-1))!=-1){
vari=str.length-1;
while(i>=0&&whitespace.indexOf(str.charAt(i))!=-1){
i--;
}
str=str.substring(0,i+1);
}
returnstr;
}
第二种:裁剪字符串方式
functiontrim(str){
str=str.replace(/^(\s|\u00A0)+/,'');
for(vari=str.length-1;i>=0;i--){
if(/\S/.test(str.charAt(i))){
str=str.substring(0,i+1);
break;
}
}
returnstr;
}
以上就是js去字符串前后空格的多种方法,希望对大家的学习有所帮助。