IT•개발 끄적/JavaScript
[JavaScript] 특정 문자 검색 & 찾기 javaScript indexOf() lastIndexOf()
소다맛사탕
2021. 5. 19. 18:26
반응형
특정 값의 vaildation을 체크하거나 해당 값의 일치 여부를 판단하기 위해 indexOf() 라는 탐색 메서드를 종종 사용하곤 하는데..
오늘은 이 특정 문자를 검색하거나 찾은 후 처리되는 indexOf() 메서드의 처리 방식에 대해 간단히 알아보려고 합니다.
1. indexOf()
특정 요소를 앞에서부터 검색하고 문자열의 위치를 리턴한다.
indexOf(searchString, position)
2. lastIndexOf()
특정 요소를 뒤에서부터 검색하고 문자열의 위치를 리턴한다.
lastIndexOf(searchString, position)
해당 문자(열)을 가지고 있는지 여부에 따라
값이 없는 경우 -1을 반환.
해당하는 값이 있는 경우 해당 위치 값을 반환.
예시를 통해 알아보겠습니다...
var text_indexOf = "가나다라마사";
var text_lastIndexOf = "abcdefghi";
alert("this indexOf : " + text_indexOf.indexOf("다"));
// 해당 문자열에 없을 경우
if(text_indexOf.indexOf("아") == -1){
alert("this none indexOf : " + text_indexOf.indexOf("아"));
}
alert("this lastIndexOf : " + text_lastIndexOf.lastIndexOf("f"));
// 해당 문자열에 없을 경우
if(text_lastIndexOf.lastIndexOf("j") == -1){
alert("this none lastIndexOf : " + text_lastIndexOf.lastIndexOf("j"));
}
---- 결과 ----
this indexOf : 2
this none indexOf : -1
this lastIndexOf : 5
this none indexOf : -1
마찬가지로 변수에 String 형태가 아닌 배열을 생성했을 때도 해당하는 문자를 찾을 수 있습니다.
var ary_indexOf = new Array();
var ary_lastIndexOf = ["a","b","c","d","e","f","g","h","i"];
ary_indexOf.push("가");
ary_indexOf.push("나");
ary_indexOf.push("다");
ary_indexOf.push("라");
ary_indexOf.push("마");
alert("this indexOf : " + ary_indexOf.indexOf("다"));
// 해당 배열에 없을 경우
if(ary_indexOf.indexOf("아") == -1){
alert("this none indexOf : " + ary_indexOf.indexOf("아"));
}
alert("this lastIndexOf : " + ary_lastIndexOf.lastIndexOf("f"));
// 해당 배열에 없을 경우
if(ary_lastIndexOf.lastIndexOf("j") == -1){
alert("this none lastIndexOf : " + ary_lastIndexOf.lastIndexOf("j"));
}
---- 결과 ----
this indexOf : 2
this none indexOf : -1
this lastIndexOf : 5
this none indexOf : -1
※ 변수에 선언된 문자나 배열의 경우 스택이 0부터 시작하므로 '가나다라마사'에서 '다'의 위치는 2번째 입니다 .