에브리 저장소

[JavaScript] 정규표현식 - 문자열에 한글 있는지 검사하기 본문

Front-end/JavaScript

[JavaScript] 정규표현식 - 문자열에 한글 있는지 검사하기

eblee 2019. 3. 25. 00:17

[JavaScript] 정규표현식 - 문자열에 한글 있는지 검사하기




타자연습 앱 구현을 연습하다가 현재 방식에서 한글을 지원하지 못해서 문자열에 한글이 있는 경우를 검사해야했습니다.


정규표현식을 사용하면 간단하므로 정규표현식을 사용하여 문자열 내부에 한글이 있는지 검사하는 방법을 알아보았습니다.


RegExp Object

자바스크립트의 RegExp라는 생성자는 특정 패턴에 맞는 텍스트를 위한 표현식을 만들어냅니다.

생성자를 사용해도 되지만, 리터럴을 사용해도 무방합니다.


1
2
3
4
const re1 = new RegExp('\\w+');
const re2 = /\w+/;
 
//re1과 re2는 같습니다.
cs


test() 메서드

RegExp 객체에 test() 내장 메서드가 있습니다. 사용법은 아래와 같습니다.


1
2
3
const re1 = /\w+/;
 
re1.test(string);
cs


test의 인자로 들어가는 string은 검사하고자하는 문자열로, 생략할 수 없습니다.

string을 검사해서 표현식에 해당하는 문자가 있다면 true를 반환하고 없으면 false를 반환합니다.



한글검사

한글이 있는지 체크하는 정규식은 아래와 같습니다.


1
2
3
const korean = /[ㄱ-|-|-힣]/;
 
korean.test(string);
cs


[] 안에서는 hyphen(-)을 사용하여 범위를 설정할 수 있습니다. ㄱ-ㅎ이면 ㄱ부터 ㅎ까지 검사한다는 의미입니다.

|(shift + \)는 OR의 의미입니다.

그러므로 정규표현식 korean은 자음, 모음, 가 부터 힣까지의 글씨를 모두 검사하는 정규표현식입니다.



마무리

정규표현식을 사용하니 정말 편하게 문자열 검사를 할 수 있었습니다! 


참고

W3Schools - JavaScript test() method

MDN - RegExp

Comments