개발/자바스크립트
자바스크립트로 문자열에 특정 문자열이 존재하는지 체크하는 방법 : indexOf()
sungho88
2018. 10. 15. 18:05
어떤 문자열이 있다고 가장하자.
string txt = "Hello My Name is JANG.";
이 때, 특정 문자열(Hello, My, Name, is, JANG, Hell, Nam 등등 모든 문자열 가능)
이 포함되어 있는지 확인하고 싶다면,
indexOf()메소드를 사용하면 된다.
주의할 점은,
if문에서,
if (txt.indexOf("Hello")) {
로 생각할 수 있지만, 아니다.
index의 반환값은
Hello라는 문자열이 없을 때 -1을 반환한다고 한다.
하지만, if 조건문에서
0, -0, null, false, NaN, undefined, ' '
을 제외한 모든 값들은 true이다. -1도 true로 인식되므로, 위 if문은 항상 true가 된다.
그래서,
if (txt.indexOf("JANG") !== -1) {
alert("Find txt : JANG");
}
이렇게 -1 이 아니라면, 조건을 해줘야 한다.
-1이 아니라는 것은 string txt에 문자열이 존재한다는 것이므로 true가 발생,
-1이라는 것은 없다는 것이므로 false가 출력된다.