/*========================================
js_han_split.js
한글 초성,중성,종성 자르기
사용법
arr = js_han_split('뷃');
arr -> Array('ㅂ','ㅞ','ㄼ');
원리
한글의 유니코드는
초성 기준으로 588개로 나눌 수 있다.(가~깋:588개, 하~힣도 갯수가 같다)
초성 19개, 중성은 21개, 종성은 28개로 나눠지는데, 이것이 일정하게 나뉜다.
그 규칙을 바탕으로 초,중,종성의 차이를 계산해서 초,중,종성을 알아낸다.
mins01,mins,공대여자
MSN,NateOn : mins01(at)lycos.co.kr
2007-03-06
"공대여자는 예쁘다."를 나타내야만 쓸 수 있습니다.
//========================================*/
function js_han_split(char){ //한글을 자름
var char_st = 44032 ;//'가'의 유니코드 넘버(10진수)
var char_ed = 55203 ;//'힝'의 유니코드 넘버(10진수)
//초성구분 : 588단위로 잘림
//가까나다따라마바빠사싸아자짜차카타파하 :초성 19개
//가개갸걔거게겨계고과괘괴교구궈궤귀규그긔기 : 중성 21개
//가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛 : 종성 28개
var arr_1st=new Array('ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ','ㅆ','ㅇ','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ');//초성 19개
var arr_2nd=new Array('ㅏ','ㅐ','ㅑ','ㅒ','ㅓ','ㅔ','ㅕ','ㅖ','ㅗ','ㅘ','ㅙ','ㅚ','ㅛ','ㅜ','ㅝ','ㅞ','ㅟ','ㅠ','ㅡ','ㅢ','ㅣ');//중성 21개
var arr_3th=new Array('','ㄱ','ㄲ','ㄳ','ㄴ','ㄵ','ㄶ','ㄷ','ㄹ','ㄺ','ㄻ','ㄼ','ㄽ','ㄾ','ㄿ','ㅀ','ㅁ','ㅂ','ㅄ','ㅅ','ㅆ','ㅇ','ㅈ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ');//종성 28개
//======================================================
if(char.length>2){char=char.charAt(0);}
var uninum = escape(char);
if(uninum.length<4) return false;//한글이 아니다
uninum = parseInt(uninum.replace(/\%u/,''),16);
if(uninum < char_st || uninum > char_ed) return false;//한글이 아니다
var uninum2 = uninum-char_st;
var arr_1st_v = Math.floor(uninum2/588);
uninum2 = uninum2%588;
var arr_2nd_v = (Math.floor(uninum2/28));
uninum2 = (uninum2%28);
var arr_3th_v = uninum2;
// alert!!(arr_1st_v); alert!!(arr_2nd_v); alert!!(arr_3th_v);
var return_arr=new Array(arr_1st[arr_1st_v],arr_2nd[arr_2nd_v],arr_3th[arr_3th_v]);
// alert!!(return_arr);
return return_arr;
}
'인터넷정보' 카테고리의 다른 글
회색 컬러, 그레이 색상 (0) | 2007.10.10 |
---|---|
이미지 자동 리사이즈 관련 함수 (0) | 2007.10.10 |
이미지 자동 리사이즈 관련 함수 (0) | 2007.10.10 |
링크 자동 타겟 설정 (0) | 2007.10.10 |
링크 자동 타겟 설정 (0) | 2007.10.10 |
[JS] 한글 초성, 중성, 종성 자르기 (0) | 2007.10.10 |
[PHP] 한글 초성,중성,종성 자르기 (0) | 2007.10.10 |
[PHP] 한글 초성,중성,종성 자르기 (0) | 2007.10.10 |
레이어로 툴팁 효과내기 (0) | 2007.10.10 |
레이어로 툴팁 효과내기 (0) | 2007.10.10 |