자바스크립트로 된 두가지 기능에 대한 함수를 정리해 봅니다. 제 스스로에게는 평소 궁금했던 기능이였고, 매번 구글링을 통해 찾아 정신없이 적용했던 기능이군요.
먼저 해당 문자열이 한글이냐를 판별해 주는 함수입니다.
/* boolean */ function isKoreaWord(/* string */ v) { var regExp = /([가-힣])/g; var replacedString = v.replace(regExp, ''); if (replacedString.length == 0) { return true; } else { return false; } }
위의 함수는 정규표현식이라는, 제가 요즘 푹 빠져 살펴보고 있는 기능을 활용한 것입니다. 정규표현식 기능은 상당한 부하(Load)를 가지는 기능인데, 아래의 함수가 더 가볍고 빠르고 적당해 보이는군요.
/* boolean */ function isKoreaWord(/* string */ v) { var len = v.length; for(var i=0; i<len; i++) { var c = v.charAt(i); if(c < '가' || c > '힣') return false; } return true; }
다음은 숫자에 대해서 천단위로 컴마(,)를 찍어 주는 함수입니다.
/* string */ function addThousandComma(/* number */ v) { var regExp = /(^[+-]?\d+)(\d{3})/; var sv = String(v); while (regExp.test(sv)) { sv = sv.replace(regExp, '$1,$2'); } return sv; }
위 함수들의 출처는 제가 요즘 jQuery 학습을 위해 읽고 또 읽고 오늘도 읽은 윤인성님이 지은 “모던 웹을 위한 JavaScript jQuery 입문”이라는 책입니다.