JavaScript는 문자열에서 단어, 숫자 또는 기타 문자열을 검색하는 여러 기술을 제공합니다. 예를 들어, 방문자가 사이트를 보기 위해 어떤 웹 브라우저를 사용하는지 알고 싶은 경우 검색이 편리할 수 있습니다. 각 웹 브라우저는 다양한 통계가 포함된 문자열에서 자체 정보를 식별합니다. 다음 JavaScript를 웹 페이지에 추가하고 웹 브라우저에서 미리 보면 이 문자열을 볼 수 있습니다.
<script> alert(navigator.userAgent); </script>
Navigator는 웹 브라우저 객체이고 userAgent는 navigator 객체의 속성입니다. userAgent 속성에는 긴 정보 목록이 포함되어 있습니다. 예를 들어 Windows XP에서 실행되는 Internet Explorer 7의 경우 userAgent 속성은 Mozilla/4.0(호환 가능, MSIE 7.0, Windows NT 5.1)입니다. 따라서 웹 브라우저가 IE 7인지 확인하려면 userAgent 문자열에서 "MSIE 7"을 검색하면 됩니다. 문자열을 검색하는 방법 중 하나는 indexOf() 메서드입니다. 문자열 뒤에 마침표를 추가한 다음 indexOf()를 추가하고 찾고 있는 문자열을 제공하십시오. 기본 구조는 다음과 같습니다.
string.indexOf('찾을 문자열')
indexOf() 메서드는 숫자를 반환합니다. 검색 문자열을 찾을 수 없으면 -1을 반환합니다. 따라서 Internet Explorer를 확인하려면 다음을 수행하세요.
var browser=navigator.userAgent;//this is a string if(browser.indexOf('MSIE')!=-1){ //this is Internet Explorer }
이 예에서 indexOf()는 userAgent 문자열에서 'MSIE'를 찾지 못하면 -1을 반환하므로 조건은 결과가 (!=) -1과 같지 않은지 확인하기 위해 테스트합니다. indexOf() 메서드가 검색 중인 문자열을 찾으면 찾고 있는 문자열의 시작 부분과 동일한 숫자를 반환합니다. 다음 예를 보면 상황이 좀 더 명확해집니다.
var quote='To be, or not to be.' var searchPosition=quote.indexOf('To be');//returns 0
여기서 indexOf()는 'To be, or not to be' 문자열에서 'To be'의 위치를 검색합니다. 더 큰 문자열은 'To be'로 시작하므로 indexOf()는 첫 번째 위치에서 'To be'를 찾습니다. 그러나 프로그래밍 방식에 따르면 첫 번째 위치는 0, 두 번째 문자(o)는 위치 1, 세 번째 문자(이 예에서는 공백)는 2로 간주됩니다.
indexOf() 메소드는 문자열의 처음부터 검색을 시작합니다. lastIndexOf() 메서드를 사용하여 문자열 끝부터 검색을 시작할 수도 있습니다. 예를 들어, 셰익스피어의 인용문에서는 'be'라는 단어가 두 곳에 나타나므로 indexOf()를 사용하여 첫 번째 'be'를 찾고 lastIndexOf()를 사용하여 마지막 'be'를 찾을 수 있습니다.
var quote="To be, or not to be." var firstPosition=quote.indexOf('be');//returns 3 var lastPosition=quote.lastIndexOf('be');//returns 17
두 예 모두에서 'be'가 문자열 어디에도 없으면 결과는 -1이 됩니다. 검색 문자열의 인스턴스가 하나만 있으면 indexO f() 및 lastIndexOf()는 동일한 값을 반환합니다. , 이는 검색 문자열이 시작되는 더 큰 문자열 내의 위치입니다.
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.