JavaScript2011. 11. 21. 16:37
JavaScript 사용시 문자열의 앞 뒤 공백을 잘라야 할때가 있다.

근데 이 아름다운 IE8(IE9이상 가능) 이하 버전에서는 trim() 메소드따위 없다.

FF, Chrome, Opera의 경우 예전부터 있었던거 같은데 -_-;;

사실 뭐 기억이 안날수도 있지만;;

아직 이놈에 나라에서는

IE6를 쓰는곳도 허다 하니 정규식을 사용해 자르는것도 한 방법이다.



var str = "    Go Hell IE6    ";
str = str.replace(/(^\s*)|(\s*$)/gi, "");




요래 하면 앞 뒤 공백을 잘라 낼 수 있다. 

왼쪽 공백만 잘라내고 싶을 경우 (ltrim)



var str = "    Go Hell IE6    ";
str = str.replace(/^\s+/, "");




오른쪽 공백만 잘라내고 싶을 경우 (rtrim)

 

var str = "    Go Hell IE6    ";
str = str.replace(/\s+$/, "");




그런데 이렇게만 쓰면 뭔가 섭하다..

JavaScript String Object의 prototype으로 지정하면

String Object의 메소드로 바로 접근이 가능하다.



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

String.prototype.ltrim = function() { this.replace(/^\s+/, ""); }; 

String.prototype.rtrim = function() { this.replace(/\s+$/, ""); };
  


이걸 어떻게 사용하냐고?

var str = "쏼라쏼라~";
str = str.trim();
str = str.ltrim();
str = str.rtrim();
 
Posted by 현종♡재순