728x90

이번엔 필자가 알고있는 특정 문자를 문자열에서 포함하는지 여부를 확인하는 문법에 대해 포스팅하겠다.

 

문자열 포함여부는 2가지 방법을 알고 있다.

첫번째는 indexOf

두번째가 includes 이다.

 

둘의 가장 큰 차이는 웹표준때문에 includes는 크롬에선 먹히는데 익스플로러에선 안먹힌다(확인해본 것만) 반면에 indexOf는 대부분의 브라우저에서 사용가능하다.

 

이제 사용방법을 알아보자.

 

우선 어떤 데이터를 DB에서 가져왔고 JSON형식으로 변수에 담은 것을 가정한 상태이다.

var data = JSON.nameCd;

if(data.indexOf('문자') > -1) { // 이 때 data 변수안에 문자가 존재하면 값은 0이다.
	alert("문자가 존재합니다.");
} else {
	alert("문자가 존재하지 않습니다.");
}

 

AND

 

var data = JSON.nameCd;

if(data.includes('문자')) { // 이 때 data 변수안에 문자가 존재하면 값은 true이다.
	alert("문자가 존재합니다.");
} else {
	alert("문자가 존재하지 않습니다.");
}

 

여기서 둘의 사용법에 차이도 있는데 여러가지 특정문자를 비교할 땐 includes의 편리성이 돋보인다.

아래 코드블럭을 살펴보자.

 

var data = JSON.nameCd;

if(data.indexOf('문자') > -1 && data.indexOf('사랑') > -1 && data.indexOf('운명') > -1) {
	alert("문자가 존재합니다.");
} else {
	alert("문자가 존재하지 않습니다.");
}

 

AND

 

var data = JSON.nameCd;

if(data.includes('문자','사랑','운명','실패')) { // 콤마(,)를 기준으로 작성하면 끝
	alert("문자가 존재합니다.");
} else {
	alert("문자가 존재하지 않습니다.");
}

 

indexOf 같은 경우 한번에 입력이 되지 않기 때문에 코드가 길어지는 불편함이 있다.

728x90
TOP