JavaScript 사용시 문자열의 앞 뒤 공백을 잘라야 할때가 있다.
근데 이 아름다운 IE8(IE9이상 가능) 이하 버전에서는 trim() 메소드따위 없다.
FF, Chrome, Opera의 경우 예전부터 있었던거 같은데 -_-;;
사실 뭐 기억이 안날수도 있지만;;
아직 이놈에 나라에서는
IE6를 쓰는곳도 허다 하니 정규식을 사용해 자르는것도 한 방법이다.
요래 하면 앞 뒤 공백을 잘라 낼 수 있다.
왼쪽 공백만 잘라내고 싶을 경우 (ltrim)
오른쪽 공백만 잘라내고 싶을 경우 (rtrim)
그런데 이렇게만 쓰면 뭔가 섭하다..
JavaScript String Object의 prototype으로 지정하면
String Object의 메소드로 바로 접근이 가능하다.
이걸 어떻게 사용하냐고?
근데 이 아름다운 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();