js中没有trim()这个函数,因此要自己定义一个字符串去空格的函数
1.基于正则的trim()函数
//去左右空格;
function trim(s){
return rtrim(ltrim(s));
}
//去左空格;
function ltrim(s){
return s.replace( /^\s*/, "");
}
//去右空格;
function rtrim(s){
return s.replace( /\s*$/, "");
}
2.借用jquery框架
$.trim(str)
//jquery内部实现
function trim(str){
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
}
3.裁剪字符串方式(执行效率比较高)
function trim(str){
str = str.replace(/^(\s|\u00A0)+/,'');
for(var i=str.length-1; i>=0; i--){
if(/\S/.test(str.charAt(i))){
str = str.substring(0, i+1);
break;
}
}
return str;
}
4.使用motools
function trim(str){
return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');
}
5.去掉全部空格(包括字符串中间的空格)
1)去除字符串前后所有空格
2)去除字符串中所有空格(包括中间空格,需要设置第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;
}
调用方法如下: trim(str,"g");