2022. 5. 24. 01:11ㆍProgram/JavaScript
038_자바스크립트 문자열 다루기 (정규 표현식 사용하기)
[적용]
- 조건과 일치하는 문자열을 검색하고 싶을 때
- 많은 문자열을 패턴에 따라 일괄적으로 변환하고 싶을 때
[내용]
정규 표현을 사용하면 문자열의 변환과 검색이 더욱 간편하다.
예를 들어 접속한 브라우저가 iOS인지의 여부를 확인하고 싶을 때 유저 에이전트를 통해 iPhone/iPod/iPad의 포함 여부를 확인할 수 있다. 정규 표현을 사용한 코드와 사용하지 않은 코드를 비교해 보자.
// 정규 표현을 사용한 코드
if (/iPhone|iPod|iPad/.test(navigator.userAgent)) {
alert('접속한 브라우저는 iOS입니다.');
}
// 정규 표현을 사용하지 않은 코드
if (
navigator.userAgent.includes('iPhone') ||
navigator.userAgent.includes('iPod') ||
navigator.userAgent.includes('iPad')
) {
alert('접속한 브라우저는 iOS입니다.');
}
문자열의 패턴(예를 들어 '/iPhone|iPod|iPad/' 부분)을 사용하여 특정 문자열과 일치 여부를 확인할 때 정규 표현을 사용하면 검색과 변환이 용이하다.
[APPENDIX]
정규 표현 패턴의 표기
문자열의 패턴은 내용의 앞뒤에 /를 삽입한다.
/패턴/
대표적인 패턴을 다음에서 확인해 보자.
패턴 | 의미 |
x | 문자 x |
xyz | 문자열 xyz |
[xyz] | x, y, z 증 하나의 문자 |
[a-z] | a~z 중 하나의 문자. [a-f], [A-Za-z] 방식도 가능 |
[^xyz] | x, y, z 외 하나의 문자 |
[^a-z] | a~z 외 하나의 문자 |
abc|xyz | 문자열 abc 혹은 xyz |
{숫자} | 반복 횟수 |
^x | 시작 문자 x |
x$ | 종료 문자 x |
. | 하나의 문자(줄바꿈 코드 제외) |
x* | 0개 이상 계속되는 x(*1) |
\ | 다음에 오는 문자를 이스케이프(escape) 처리(*2) |
\d | 숫자 [0-9] |
\D | 숫자가 아닌 문자 [^0-~9] |
\w | 영문, 숫자, 언더바 [A-Za-z0-9_] |
\s | 공백 문자(스페이스, 탭, 줄바꿈 등) |
\S | 공백 문자 이외의 문자 [^\s] |
\t | 수평 탭 |
\n | 줄바꿈 코드 |
*1 'va*'는 v 뒤의 a가 0회 이상 계속되는 상태를 나타낸다.
*2 정규 표현으로 사용되는 문자의 이스케이프 처리를 위해 사용한다.
예를 들어 [문자의 이스케이프 처리는 \[ 의 패턴을 사용한다.
[JavaScript] 자바스크립트에서 문자열 다루기
[JavaScript] 자바스크립트에서 문자열 다루기
025_자바스크립트에서 문자열 다루기 [적용] 문자열 길이를 확인하고 싶을 때 문자열을 검색하고 싶을 때 문자열을 추출하고 싶을 때 문자열을 변환하고 싶을 때 문자열을 나누고 싶을 때 문자열
stonefree.tistory.com
[JavaScript] 자바스크립트에서 문자열의 길이(문자의 수)를 확인하고 싶을때 length()
[JavaScript] 자바스크립트 문자열의 길이 확인하기
026_자바스크립트 문자열의 길이 확인하기 [적용] 입력폼에서 문자열의 길이를 확인하고 싶을 때 [문법] 속성 의미 타입 문자열.length 문자열의 길이 (문자의 수) 숫자 Array.from(문자열).length 문자열
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열의 공백 처리하기 trim()
[JavaScript] 자바스크립트 문자열의 공백 처리하기 trim()
027_자바스크립트 문자열의 공백 처리하기 [적용] 문자열 양단의 공백을 제거하고 싶을 때 [내용] 문자열 양 끝의 공백을 제거하는 것을 '트리밍(Trimming)' 이라고 하며, trim()은 양단의 공백을 제거
stonefree.tistory.com
[JavaScript] 자바스크립트에서 문자열 검색하기 (인덱스 검색)
[JavaScript] 자바스크립트에서 문자열(인덱스) 검색하기
const targetString = 'JavaScript를 배우자'; document.querySelector('.result1').innerHTML = targetString.indexOf('JavaScript'); document.querySelector('.result1').innerHTML = targetString.indexOf('배..
stonefree.tistory.com
[JavaScript] 자바스크립트에서 문자열 검색하기 (부분 검색)
[JavaScript] 자바스크립트에서 문자열 검색하기 (부분 검색)
029_자바스크립트에서 문자열 검색하기 (부분 검색) [적용] 지정 문자열의 포함 여부를 확인하고 싶을 떄 입력폼의 부적절한 문자를 체크하고 싶을 떄 [문법] 메소드 의미 반환 대상문자열.includes(
stonefree.tistory.com
[JavaScript] 자바스크립트에서 문자열에서 문자 다루기 (문자열에서 문자 추출하기)
[JavaScript] 자바스크립트 문자열에서 문자 다루기 (문자열에서 문자 추출하기)
030_자바스크립트 문자열에서 문자 다루기 (문자열에서 문자 추출하기) [적용] 지정한 위치의 문자를 추출하고 싶을 때 [문법] 메소드 의미 반환 문자열.charAt([인덱스]*) 지정한 인덱스의 문자를
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열에서 문자 다루기 (위치 지정하여 선택하기)
[JavaScript] 자바스크립트 문자열 다루기 (위치 지정하여 선택하기)
031_자바스크립트 문자열 다루기 (위치 지정하여 선택하기) [적용] 지정 범위 내의 문자열을 추출하여 사용하고 싶을 때 지정 위치 이후의 문자열을 추출하여 사용하고 싶을 때 [문법] 메소드 의
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열에서 문자 다루기 (글자수 지정하여 선택하기)
[JavaScript] 자바스크립트 문자열 다루기 (글자 수 지정하여 선택하기)
032_자바스크립트 문자열 다루기 (글자 수 지정하여 선택하기) [적용] 위치와 글자 수를 지정한 문자열을 추출하고 싶을 때 [문법] 메소드 의미 반환 문자열.substr(시작인덱스, [글자수*]) 지정 범위
stonefree.tistory.com
[JavaScript] 자바스크립트 지정 문자열 변환하기
[JavaScript] 자바스크립트 지정 문자열 변환하기
033_자바스크립트 지정 문자열 변환하기 [적용] 문자열을 다른 문자열로 바꾸고 싶을 때 문자열 내 불필요한 줄바꿈 코드를 로 바꾸고 싶을 때 빈칸을 제거하고 싶을 때 [문법] 메소드 의미 반환
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열 나누기
[JavaScript] 자바스크립트 문자열 나누기
034_자바스크립트 문자열 나누기 [적용] URL의 해시(Hash) 데이터르르 가져올 때 공백을 기준으로 문자열을 나누고 싶을 때 [문법] 메소드 의미 반환 문자열.split([기준문자*], [최대분할수*]) 지정
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열 합치기
[JavaScript] 자바스크립트 문자열 합치기
035_자바스크립트 문자열 합치기 [적용] 따로 입력받은 성과 이름을 결합하여 문자열을 만들고 싶을 때 폴더명과 파일명을 결합하여 파일 주소를 문자열로 만들고 싶을 때 [문법] 구문 의미 문자
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열의 대소문자 변환하기
[JavaScript] 자바스크립트 문자열의 대소문자 변환하기
036_자바스크립트 문자열의 대소문자 변환하기 [적용] 소무자를 대문자로 변환하고 싶을 때 서버에서 반환된 대문자 데이터를 소문자로 변환하고 싶을 때 [문법] 메소드 의미 반환 문자열.toLowerCa
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열과 식 함께 다루기
[JavsScript] 자바스크립트 문자열과 식 함께 다루기
037_자바스크립트 문자열과 식 함께 다루기 [적용] 여러 문자열을 다루고 싶을 때 문자열 내 변수를 다루고 싶을 때 [문법] 구문 의미 문자열 + 문자열 + ... 문자열 결합 `${문자열1}${문자열2}${문자
stonefree.tistory.com
[JavaScript] 자바스크립트 문자열 다루기 (정규 표현식으로 특정 문자 검색하기)
[JavaScript] 자바스크립트 문자열 다루기 (정규 표현식으로 특정 문자 검색하기)
039_자바스크립트 문자열 다루기 (정규 표현식으로 특정 문자 검색하기) [적용] 조건과 일치하는 문자열을 검색하고 싶을 떄 [문법] 메소드 의미 반환 /패턴/.test(문자열) 문자열과 패턴의 일치 여
stonefree.tistory.com
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 소수점 자리수 지정하기 (0) | 2022.05.24 |
---|---|
[JavaScript] 자바스크립트 문자열 다루기 (정규 표현식으로 특정 문자 검색하기) (0) | 2022.05.24 |
[JavsScript] 자바스크립트 문자열과 식 함께 다루기 (0) | 2022.05.20 |
[JavaScript] 자바스크립트 문자열의 대소문자 변환하기 (0) | 2022.05.20 |
[JavaScript] 자바스크립트 문자열 합치기 (0) | 2022.05.20 |