js去掉字符串前后空格的五种方法
转载 :http://www.2cto.com/kf/201204/125943.html
第一种:循环检查替换
[javascript]
//供使用者调用
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){
var i = str.length -
1;
while (i >= 0 &&
whitespace.indexOf(str.charAt(i)) !=
-1){
i--;
}
str
= str.substring(0,
i+1);
}
return
str;
}
第二种:正则替换
[javascript]
<SCRIPT
LANGUAGE="JavaScript">
<!--
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,
"");
}
//-->
</SCRIPT>
第三种:使用jquery
[javascript]
$.trim(str)
jquery内部实现为:
[javascript]
function
trim(str){
return
str.replace(/^(\s|\u00A0)+/,‘‘).replace(/(\s|\u00A0)+$/,‘‘);
}
第四种:使用motools
[javascript]
function
trim(str){
return
str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g,
‘‘);
}
第五种:裁剪字符串方式
[javascript]
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;
}
经过测试第五种方法在处理长字符串时效率最高。
第五种例子
<script type="text/javascript">
var str= ‘ 我你的‘;
alert(trim(str));
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;
}
</script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。