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去字符串前后空格的多种方法,希望对大家的学习有所帮助。