관리 메뉴


Kinesis´s Open Document

자바스크립트 문자열의 한글 문자 코드값 체크 함수 본문

MEMO/기술 자료/Javascript

자바스크립트 문자열의 한글 문자 코드값 체크 함수

Kinesis 2013. 3. 15. 13:35
인터넷 중에 떠돌아 다니는 자바스크립트들 중에 썩 마음에 드는 코드들이 없어 개인적으로 다시 정리하고 있는 자바스크립트 함수 중 "문자열의 한글 문자 코드값 체크 함수"를 정리해 놓는다.
// Hangul Compatiblity Jamo        0x3131 - 0x318E
// Hangul Syllables                0xAC00 - 0xD7AF
/* Boolean ::: String-Object.IsKorean () */
String.prototype.IsKorean = function () {
    var arg = arguments[0] === undefined ? this.toString() : arguments[0];
    if (arg === undefined || arg === null) { throw "Property or Arguments was Never Null."; }
    else {
        var _chk = true, _sp = /\s+/;
        if (typeof (arg) != "string") { throw "Property or Arguments was not 'String' Types."; }
        for (var i = 0; i < arg.length; i++) {
            var _ch = arg[i].charCodeAt();
            _chk = _chk && ((_ch >= 0x3131 && _ch <= 0x318E) || (_ch >= 0xAC00 && _ch <= 0xD7AF) || _sp.test(arg[i]));
        }
        return _chk;
    }
};

/* Boolean ::: String.IsKorean (String arg) */
String.IsKorean = function (arg) {
    if (arg === undefined || arg === null) { throw "Property or Arguments was Never Null."; }
    else {
        if (typeof (arg) != "string") { throw "Property or Arguments was not 'String' Types."; }
        return arg.IsKorean();
    }
};
prototype 과 String.IsKorean 가 하나의 세트로 String.IsKorean 는 prototype 함수에 의존성을 갖는다. 사용 방법은 다음과 같다.
// Prototype 사용 예

"abc!@#()[]{}".IsKorean();
// 결과 : false

"가나다라마".IsKorean();
// 결과 : true
또는
// String.IsKorean() 사용 예

String.IsKorean("abc!@#()[]{}");
// 결과 : false

String.IsKorean("가나다라마");
// 결과 : true



Comments