일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MYSQL
- 트랜젝션
- 포트
- 더존ERP
- 메일
- erp
- codeigniter
- crontab
- 목차만들기
- ping
- vscode
- 이메일주소
- sp_who
- python
- 정규표현식
- port
- 자바스크립트
- 리눅스
- MSSQL
- php
- 문자열
- 정규식
- jquery
- pingtest
- js
- 핑
- 핑테스트
- JavaScript
- sendmail
- 유효성
Archives
- Today
- Total
ioerror
Javascript 에서 문자열의 공백 삭제 하기 - trim 본문
반응형
왜 자바스크립트에는 trim이 없을까?
앞뒤 공백을 삭제하거나 아니면 문자열의 모든 공백을 삭제하거나 하는 상황이 얼마나 자주발생하는데.
jQuery의 $.trim()도 있지만 jQuery를 사용못하는 상황이거나 사용하는 라이브러리에 문자열을 삭제하는 trim 함수가 없다면
직접 만들어서 사용해야 한다.
함수형
/**
* trim('문자열',[compress|rtrim|ltrim])
*/
function trim(str_val,optval) {
if(optval == "compress") // 문자열의 모든 공백 제거
{
return str_val.replace(/\s+/g, "");
}
else if(optval == "rtrim") // 문자열의 오른쪽 공백만 제거
{
return str_val.replace(/\s+$/, "");
}
else if(optval == "ltrim") // 문자열의 왼쪽 공백 제거
{
return str_val.replace(/^\s+/, "");
}
else // 문자열 앞뒤 공백 제거(trim)
{
return str_val.replace(/^\s+/, "").replace(/\s+$/, "");
}
}
문자열 객체형
/**
* " 문자열 입니다. ".trim([compress|rtrim|ltrim])
*/
String.prototype.trim = function(optval){
if(optval == "compress") // 문자열의 모든 공백 제거
{
return this.replace(/\s+/g, "");
}
else if(optval == "rtrim") // 문자열의 오른쪽 공백만 제거
{
return this.replace(/\s+$/, "");
}
else if(optval == "ltrim") // 문자열의 왼쪽 공백 제거
{
return this.replace(/^\s+/, "");
}
else // 문자열 앞뒤 공백 제거(trim)
{
return this.replace(/^\s+/, "").replace(/\s+$/, "");
}
}
정규표현식은 슬래쉬(/)로 시작해서 슬래쉬(/)로 끝나고 \s 는 공백(space)를 의미한다.
compress 에서 \s+ 의 플러스(+)는 해당 문자가 하나이상 나오는 것을 뜻하고 g는 정규식의 반복 검사를 의미한며 i는 대고문자 구분없음을 의미한다.
rtrim 은 오른쪽 공백 제거이니까 공백을 찾는데 문자열 끝($)과 연결되는 것을 찾고 반대로 ltrim은 문자열 시작(^)부터 공백인 것을 찾는 것이다.
trim은 앞뒤 공백 제거미으모 rtrim과 ltrim 을 실행하면 된다.
반응형
'JavaScript' 카테고리의 다른 글
[jQuery] 제이쿼리의 시작, 노드 선택자 정리 (0) | 2020.10.15 |
---|---|
[JS] 이메일 주소 유효성 확인하기(feat. 정규식) (0) | 2020.06.13 |
[JS] 전화번호 검사하기 (0) | 2019.12.29 |
[JS] 자바스크립트 쿠키 굽기 - cookie (0) | 2019.12.07 |
[JS] 정규식을 이용한 html 태그 삭제 - strip_tags (0) | 2019.11.19 |
Comments