본문 바로가기

JAVASCRIPT

자바스크립트에서 공백(빈칸) 제거를 위한 trim() 함수 만들어서 사용하기



trim() 과 replaceAll() 지원이 되지 않는 자바스크립트에서 공백을 제거하고 싶을때 사용


(1) 3가지 trim 함수 만들기
 
보통 trim 종류에는 왼쪽공백제거, 오른쪽공백제거, 양쪽공백제거가 있는데

이 3가지를 함수로 구현하면 아래와 같다.

 
정규표현식 특수문자에 대한 설명이다. 간략한 내용이며 특수문자 하나하나의

의미에 대해서만 기술한다. 이것도 설명하자면 책 한권의 내용이 된다.

표현식(expression) 이란 문자 그대로의 의미 이상으로 해석되는 메타문자(metacharacters)

들의 집합을 말한다.

 
^ - 처음시작(beginning of line)

\s - 공백(whitespace character)

$ - 끝라인(end of line)

| -  or 표현

\ - 특수문자를 원래의 문자 의미대로 해석

+ - 자기앞에 나오는 하나 이상의 정규표현식과 일치, * 와의 차이는 반드시 하나이상일치


/*************************************************************************
* 앞/뒤에서 White Space가 제거된 값반환
*************************************************************************/
function trim(value) {
return value.replace(/^\s+|\s+$/g,"");
}

/*************************************************************************
* 값의 앞에서 White Space를 제거한다.
*************************************************************************/
function ltrim(value) {
return value.replace(/^\s+/,"");
}

/*************************************************************************
* 값의 뒤에서 White Space를 제거한다.
*************************************************************************/
function rtrim(value) {
return value.replace(/\s+$/,"");
}


(2) prototype 등록해서 사용하기
 
다음은 prototype 을 사용해서 String 객체에 등록하자


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

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

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


등록한후 String 객체에 추가한것이므로 아래와 같이 value 뒤에 함수를

사용하면 된다. 이렇게 사용하는 것이 1번에서 함수추가해놓고 사용하는 것 보다

편리하고 직관적일 것이다.


var tempNo = form.tempNo.value.trim();
var tempNoCheck = form.tempNoCheck.value.trim();

 

출처 : http://mainia.tistory.com/560