티스토리 뷰

프로그래밍

[JAVASCRIPT] startsWith, endsWith

ReturnToHome 2016. 12. 27. 12:15


안녕하세요.

Javascript 에서 임의의 한 문장이 어떤 문자로 시작되는 지, 또는 어떤 문자로 끝나는 지 true, false 로 반환하는 함수에 대해 간단 정리하려 합니다.
특정 문장의 시작이 어떤 문자로 시작하는 지를 체크하기 위해서는 startsWith 함수를, 끝이 어떤 문자로 끝나는 지를 체크하기 위해서는 endsWith 함수를 사용하며 사용법은 아래와 같습니다.

var tempStr = 'i have a dream';
console.log(tempStr.startsWith('i')); // true
console.log(tempStr.endsWith('m')); // true
console.log(tempStr.startsWith('i have'); // true
console.log(tempStr.endsWith('dream'); // true
console.log(tempStr.endsWith('aream'); // false

왠만 모든 브라우저에서 사용이 가능합니다만, msdn 에는 이렇게 명시되어 있습니다.
Microsoft Edge(Edge 브라우저) 에서 지원됩니다. 스토어 앱(Windows 10의 Microsoft Edge)에서도 지원됩니다. 버전 정보를 참조 하십시오. Quirks, Internet Explorer 6 표준, Internet Explorer 7 표준, Internet Explorer 8 표준, Internet Explorer 9 표준, Internet Explorer 10 표준, Internet Explorer 11 표준과 같은 문서 모드에서는 지원되지 않습니다. Windows 8.1 에서는 지원되지 않습니다.

그렇습니다. IE 에서는 지원하지 않는다고 보셔도 무관합니다. 그래서 IE 에서도 사용하기 위해서는 아래와 같은 prototype function 선언이 필요합니다.

- startsWith 사용 시
String.prototype.startsWith = function(str) {
if (this.length < str.length) { return false; }
return this.indexOf(str) == 0;
}

- endsWith 사용 시
String.prototype.endsWith = function(str) {
if (this.length < str.length) { return false; }
return this.lastIndexOf(str) + str.length == this.length;
}


이상 startsWith, endsWith 에 대해 알아보았습니다.

* 위 포스트는 사로님의 코드를 토대로 작성하였습니다. 소스는 몇몇 분들의 버그 리포트로 수정의 수정을 거쳐 (예:endsWith 시 2글자 문장에 대한 3글자 단어 검색 시 생기는 버그 등) 고쳐진 코드입니다. 번외로 현재 모바일로 등록하여 들여쓰기가 되지 않았는데 추후 수정하겠습니다.

'프로그래밍' 카테고리의 다른 글

JSONObject 버그?  (4) 2017.01.10
[DB] 오라클 오류 종류  (0) 2016.12.27
[ETC] Interface를 이용한 DI를 구성하는 이유  (0) 2016.12.24
[ETC] MSSQL 명령어  (0) 2016.12.24
[JAVA] instanceof  (0) 2016.12.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함