去掉字符串里的内外的所有空格
方法一
var s = "asd ddd bbb sss"; var reg = /\s/g; var ss = s.replace(reg, ""); alert(ss); 结果:asddddbbbsss
方法二
String.prototype.trim = function (){return this.replace(/\s/g, '');} var a="_"+" e w ".trim()+"!"; console.info(a); 结果:_ew!
去掉字符串里的两边的所有空格
第一种:循环检查替换
//供使用者调用
function trim(s){ return trimRight(trimLeft(s)); }
//去掉左边的空白
function trimLeft(s){ if(s == null) return ""; var whitespace = new String(" \t\n\r"); var str = new String(s); if (whitespace.indexOf(str.charAt(0)) != -1) { var j=0, i = str.length; while (j < i && whitespace.indexOf(str.charAt(j)) != -1){ j++; } str = str.substring(j, i); } return str; }
//去掉右边的空白 www.2cto.com
function trimRight(s){ if(s == null) return ""; var whitespace = new String(" \t\n\r"); var str = new String(s); if (whitespace.indexOf(str.charAt(str.length-1)) != -1){ i = str.length - 1; while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){ i--; } str = str.substring(0, i+1); } return str; }
第二种:正则替换
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, ""); }
第三种:使用jquery
$.trim(str)
jquery内部实现为:
function trim(str){ return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,''); }
第四种:使用motools
function trim(str){ return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); }
第五种:裁剪字符串方式
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; }
涉及规则:
\
|
将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。
|
^
|
匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
|
$
|
匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
|
*
|
匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。
|
.(小数点)
|
匹配除“\r\n”之外的任何单个字符。要匹配包括“\r\n”在内的任何字符,请使用像“[\s\S]”的模式。
|
(pattern)
|
匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“ ”或“ ”。
|