자바스크립트 버젼의 한글 자소 분리다.
출처 :
http://byuli.tistory.com/archive/20080701
<script type="text/javascript">
var hangulToJaso = function (text)
{
var ChoSeong = new Array (
0x3131, 0x3132, 0x3134, 0x3137, 0x3138, 0x3139,
0x3141, 0x3142, 0x3143, 0x3145, 0x3146, 0x3147,
0x3148, 0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e
);
var JungSeong = new Array (
0x314f, 0x3150, 0x3151, 0x3152, 0x3153, 0x3154,
0x3155, 0x3156, 0x3157, 0x3158, 0x3159, 0x315a,
0x315b,0x315c, 0x315d, 0x315e, 0x315f, 0x3160,
0x3161, 0x3162, 0x3163
);
var JongSeong = new Array (
0x0000, 0x3131, 0x3132, 0x3133, 0x3134,0x3135,
0x3136, 0x3137, 0x3139, 0x313a, 0x313b, 0x313c,
0x313d, 0x313e, 0x313f, 0x3140, 0x3141, 0x3142,
0x3144, 0x3145, 0x3146, 0x3147, 0x3148, 0x314a,
0x314b, 0x314c, 0x314d, 0x314e
);
var chars = new Array()
var v = new Array();
for (var i = 0; i < text.length; i++)
{
chars[i] = text.charCodeAt(i);
if (chars[i] >= 0xAC00 && chars[i] <= 0xD7A3)
{
var i1, i2, i3;
i3 = chars[i] - 0xAC00;
i1 = i3 / (21 * 28);
i3 = i3 % (21 * 28);
i2 = i3 / 28;
i3 = i3 % 28;
v.push(String.fromCharCode(ChoSeong[parseInt(i1)]));
v.push(String.fromCharCode(JungSeong[parseInt(i2)]));
if (i3 != 0x0000)
v.push(String.fromCharCode(JongSeong[parseInt(i3)]));
}
else {
v.push(String.fromCharCode(chars[i] ));
}
}
return v;
}
document.write(hangulToJaso("한글자소분리"));
</script>