자바스크립트 버젼의 한글 자소 분리다.

출처 : 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>