웹프로그래밍

Global It Leader!!


jQuery


 
 

정규표현식을 통한 공백제거(trim) 구현

페이지 정보

작성자 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 4,824회 작성일 12-08-21 05:33

본문

JavaScript 에서는 별도의 문자열 Trimming 기능이 없으므로 직접 구현을 해야 합니다.

문자열을 Char 배열로 쪼개어 공백을 Catch 하는 단순한 방법도 있겠지만 그보다 더 간단하게 정규표현식을 사용하여 구현 할 수 있습니다.

저는 두가지 기능을 위한 정규 표현식을 만들어봤습니다.

- 문자열 맨 앞과 맨 뒷부분의 공백을 제거
- 문자열에 포함된 모든 공백을 제거

우선, 문자열 앞뒤의 공백을 제거하기 위한 함수입니다.
function trim(str) {
	return str.replace( /(^\s*)|(\s*$)/g, "" );
}

\s : 공백 문자를 의미
^ : 라인 혹은 문자열의 처음을 의미
$ : 라인 혹은 문자열의 끝을 의미
s : 공백을 의미하며, \와 함께 사용해야 특수문자로 인식
* : 0 혹은 한개 이상을 의미
g : 전역 매칭을 의미

위 표현식을 풀어보자면 '문자열의 시작에 공백이 n개 있는 경우 및 문자열의 마지막에 공백이 n개 존재 하는 모든 경우' 라고 볼 수 있겠습니다.
표현식 중간에 '|'가 있는데 이것은 '()'로 묶인 표현식 두개의 OR 를 뜻하게 됩니다. 즉, 두가지 모두가 포함되는 조건이라 볼 수 있겠죠.

여기에 추가로 문자열에 포함된 모든 공백을 제거하는 기능이 필요하여 다음과 같은 정규식을 만들었습니다.
(사실 너무나도 간단한거지만...;;)

문자열에 포함된 모든 공백 제거를 위한 함수.
function compactTrim(str) {
	return str.replace( /(\s*)/g, "" );
}
즉, 문자열에 포함된 모든 공백문자를 제거하게 됩니다.

댓글목록

등록된 댓글이 없습니다.

전체 142
게시물 검색
jQuery 목록
번호 제목 글쓴이 조회 날짜
122 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6006 06-09
121 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5952 06-13
120 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5858 06-13
119 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5741 04-24
118 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5658 05-13
117 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5564 05-26
116 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5460 04-24
115 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5455 08-27
114 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5454 08-21
113 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5282 04-28
112 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5277 03-09
111 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5233 03-15
110 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5027 07-26
109 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5023 02-29
108 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4998 07-11
107 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4934 02-28
106 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4873 02-29
105 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4845 11-23
104 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4836 04-24
103 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4825 02-22