본문 바로가기
Front END/JavaScript

자바스크립트JS - 특정 문자 검색

by Ropung 2023. 2. 9.

자바스크립트 indexOf()

indexOf() 함수는 String타입으로 검색하여 찾을수 있고 배열에서 원하는 특정 배열값의 존재여부 등을 확인할 수 있습니다. 배열의 경우 위치값을 index(number)로 반환하는 함수입니다.


 

 

indexOf() 반환값

indexof()함수의 반환 타입은 number 입니다.


 

사용법

문자열.indexOf(배열에서 찾을 요소,검색을 시작할 색인);

코드가 길어져 함수사용을 일부 생략합니다
(시작위치는 생략 가능합니다)

  const 문자열 = "123";

  //코드가 길어져 b1에 해당하는 indexOf()함수만 적었습니다
  //(b1이 적힌곳에 문자열을 복붙하여 비교해보면됩니다.)



  var b1 = "456";    // 결과값: -1  완전다른 문자열
  문자열.indexOf(b1)  // 코드가 길어져 밑에 변수들을 넣지않고 생략한 결과값만 적어뒀습니다.

  var b2 = "234";   // 결과값: -1    2는같지만 123에서 234 전체를 비교하기떄문에 다르다
  var b3 = "132";   // 결과값: -1    숫자는 같지만 전체를 비교하면 다르다

  //0번째인 0을 리턴
  var c1 = "1";     // 결과값: 0    123에 1은 123중 맨앞에 위치 0번째인 0을 리턴
  var c2 = "12";    // 결과값: 0    123에 12는 맨앞에 0번째 위치 
  var c3 = "123";   // 결과값: 0

  //1번쨰인 1을 리턴 
  var d1 = "2";     // 결과값: 1
  var d2 = "23";    // 결과값: 1

  //3번째니 2를 리턴 (index의 순서는 0부터시작)
  var e = "3";      // 결과값: 2

-1을 반환하면 문자열이 하나도 일치 않는다는것을 알수있습니다.

"@"를비교해서 조건문에 indexOf()의 반환값이 -1이면

"이메일의 형식이 일치하지 않는다" 라는 메세지를 보내는 방법을 생각해볼수 있습니다.


 

배열의 경우

배열의 index의 위치를 알수있습니다.

var 계절 = [ "봄", "여름", "가을", "겨울" ];
console.log(계절[1]);              // "여름" 출력
console.log(계절.indexOf("여름"));  // 1 출력
console.log(계절.indexOf(계절[1])); // 1 출력

 

반환 값

정리: 객체 및 배열 내의 요소의 최초의 인덱스. 발견되지 않으면 -1.