论坛首页 Web前端技术论坛

js去前后空格

浏览 5452 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-28  
var str = "abcd ";
str.trim();
报语法错误
解决方法如下:
str = str.replace(/^\s+|\s+$/g,"");
   发表时间:2011-04-28  
IE木有trim方法
0 请登录后投票
   发表时间:2011-04-29  
ie本来就没有trim方法,需要自己定义
0 请登录后投票
   发表时间:2011-05-05   最后修改:2011-05-05
优雅点的方法可以这样:

<script language="javascript">

String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

var str = " b ";
//before trim
alert(str.length);
//after trim
alert(str.trim().length);
</script> 
0 请登录后投票
   发表时间:2011-05-05  
jquery有
0 请登录后投票
   发表时间:2011-05-05  

//去两边空格
Object.prototype.trim=function(){
	return this.ltrim().rtrim();
}
//去左边空格
Object.prototype.ltrim=function(){
    return this.replace(/(^\s*)/g,"");
}
//去右边空格
Object.prototype.rtrim=function(){
    return this.replace(/(\s*$)/g,"");
}
 
0 请登录后投票
   发表时间:2011-05-05  
起码不要用rtrim和ltrim作为函数名,根着标准走,用trimLeft和trimRight吧
0 请登录后投票
   发表时间:2011-05-05   最后修改:2011-05-05
jquery中所用的最简单,性能综合比较不错(不是我说的,是《高性能javascript》中5.2章中7种方式在9种不同版本浏览器中的测试而得出来的)
0 请登录后投票
   发表时间:2011-05-06  
哥们 你别把 jQuery 的源码搞出来呀,jQuery的源码中这样写:
                k = /^\s+/
                o = /\s+$/
                j.toString().replace(k, "").replace(o, "")
如果这个是你的想法倒是可以,如果是jQuery的源码,得说你是很心细的人
0 请登录后投票
   发表时间:2011-05-06  
http://blog.stevenlevithan.com/archives/faster-trim-javascript
网上终于找到了
Base.js中有出处
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics