NNで1文字の取得(JS)

[上に] [前に] [次に]
こばりゅう [E-Mail] [HomePage] 1999/06/08(火) 05:09:51
えーと、ある文字列を1文字ずつ取得したいんです。
IEでは以下の方法で綺麗に取得できたんです。
  var Stg="あいうえお12345"
  var Stgs=new Array()
  Stgs=Stg.split('')
とすれば
  Stgs[0]="あ"
  Stgs[5]="6"
と、目的の作業が出来るわけなんですが
同じ事をネスケでやろうとすると恐ろしい作業量になってしまうんです。
  Stgbuf = Stg.split('')
  for( p=0; p < Stgbuf.length ; p++ ){
    chk1 = parseInt( escape(Stgbuf[p]).substr(1),16 )
    if( ( chk1 >= 0x81 && chk1 <= 0x9F || chk1 >= 0xE0 && chk1 <= 0xFC ) && p+1 < Stgbuf.length ){
        Stgs[pp]=Stgbuf[p]+Stgbuf[p+1]
        p++
    } else {
        Stgs[pp]=Stgbuf[p]
    }
    pp++
  }
  N=pp
これを考えるのに数ヶ月かかりました(汗)(^_^;)
まぁやっていることは、1バイトづつを全角文字の一部かどうか判断して
もしそうなら、次の配列をつなげて1文字としているんです。
ですが、ご覧のように、ループの荒らしでして(汗)
非常に重くなります(^_^;)
もし、他に良い案や、参考になるヒントなど有りましたらよろしくお願いします

[上に] [前に] [次に]