자바스크립트 언어뿐 아니라 프로그래밍 언어의 가장 강력한 부분 중 하나가 바로 정규표현식의 사용일 것이다. 이런 정규표현식을 사용할때 영문 또는 숫자 사용과는 달리 한글 사용 또는 혼용시에는 조금 더 복잡한 과정이 필요하다.

아래는 한글이 포함된 경우 이를 알아내는 정규표현식에 대하여 알아보려한다. 정규표현식의 방법은 편의상 regexp 변수에 저장하도록 하겠다. 아래 함수를 통해 특정 텍스트가 한글을 가지고 있는지 알아보자


! 한글이 있는지의 여부를 알아내는 예제보기

먼저 한글이 있는지 알아내는 방법을 보자. 사실 영문, 숫자로만 사용되는 경우 w 키워드를 옵션으로 사용하면 매우 간단하다. 아래처럼 말이다.

var regexp = /w/;

하지만 영문과 달리 한글의 경우 특별한 키워드가 존재하지 않는다는 문제가 있다. 그래서 다음처럼 ㄱ-ㅎ등의 방법을 혼합하여 사용해야 한다. 그럼 아래를 자세히 보자.

var chkKrtext = function(text) {
   var regexp =/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]*/gi;
   var text2 = text.match(regexp);
   if (text2 != null) {
      for (i=0; i < text2.length ; i++) {
         console.log(text2[i]);
      }
   }
}


위 함수 chkKrtext()에 특정 텍스트를 매개변수로 하여 실행할 경우 한글을 찾아 반환해 준다. 예를들어 아래와 같이 변수를 사용해 함수를 실행하여 보자.

var text = "가나123다라";
chkKrtext(text);

// 아래는 반환되는 결과
가나
다라


결과는 아래처럼 가나 그리고 다라가 콘솔창에 반환되어 출력될 것이다.

정규표현식 계산기 바로가기 > http://webisfree.com/regexp/