String.prototype.search()
사용법
문자열에서 search()
함수는
주어진 정규 표현식 패턴을 사용하여 문자열 내에서 검색(search)해서 첫 번째로 일치하는 위치(인덱스)를 반환하는 함수입니다.
- 이 함수는 대소문자를 구분합니다.
- 검색하는 결과가 없으면
-1
을 반환합니다.
search()
함수의 형식은 다음과 같습니다.
구문
str
은 검색 대상이 되는 문자열입니다.
매개변수
regexp |
|
---|
반환 값
주어진 정규 표현식 패턴을 사용하여 문자열 내에서 검색(search)해서 첫 번째로 일치하는 위치(인덱스)를 반환합니다.
검색하는 결과가 없으면 숫자 -1
을 반환합니다.
매개변수와 반환 값 예시
매개변수가 없을 경우
search()
함수의 매개변수가 없을 경우, 다시 말해 아무런 인자를 전달하지 않을 경우 숫자 0
을 반환합니다.
매개변수가 빈 문자열(""
)일 경우
매개변수가 빈 문자열(""
)일 경우 숫자 0
을 반환합니다.
매개변수가 공백 문자열(" "
)일 경우
매개변수가 공백 문자열(" "
)일 경우 해당 공백 문자열과 일치하는 부분을 찾습니다.
매개변수와 일치하는 부분이 여러 개인 경우
매개변수와 일치하는 부분이 여러 개인 경우 문자열에서 첫 번째로 일치하는 인텍스만 찾아서 반환합니다.
일치하는 부분이 여러 개일 때 모두 반환하고 싶어서 정규 표현식에 g
(전역 검색) 플래그를 추가한 경우
정규 표현식의 g
(전역 검색) 플래그는 search()
함수의 결과에 아무런 영향을 미치지 않습니다.
정규 표현식의 플래그는 /regex/flags
와 같이 작성합니다. regex
자리에 정규표현식 패턴이 오고, flags
에 플래그가 옵니다. 위 코드 예제에서는 /orange/g
로 작성한 것이고 정규식 /orange/
에 g
(전역 검색) 플래그를 추가한 것입니다.
정규 표현식의 플래그는 다음과 같습니다.
플래그 | 설명 |
---|---|
i |
Case-insensitive 플래그.
대소문자를 구분하지 않고 패턴을 검색합니다. |
g |
Global 플래그.
대상이 되는 문자열 내에서 패턴과 일치하는 모든 문자열을 전역으로 검색합니다. |
m |
Multiline 플래그.
다중 행 문자열에서의 검색을 활성화합니다. |
주의하세요!
정규 표현식의 g
(전역 검색) 플래그는 search()
함수의 결과에 아무런 영향을 미치지 않기 때문에 패턴을 검색할 때 제한적입니다.
매개 변수와 일치하는 부분이 없는 경우
일치하는 패턴이 없으면 숫자 -1
이 반환됩니다.
이 함수의 관련 함수를 참조하세요.
활용 예제
search()
함수는 정규식을 사용하여 문자열에서 패턴을 찾을 때 제한적으로 활용할 수 있습니다. 다음의 활용 예제를 살펴보겠습니다.
이메일 주소 유효성 검사
코드 부연설명
문자열에서 trim()
함수는 문자열의 양 끝에서 공백을 제거한 새로운 문자열을 반환합니다.
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
search()
|
1 | 12 | 1 | 4 |
명세서
명세서 사양 | |
---|---|
search()
|
ECMAScript Language Specification #sec-string.prototype.search |