JSFiddle - React, Tailwind, and code Playground

HTML

<h2>
輸入
</h2>
<textarea style="width:100%;" rows=6 id="input">
nji3u3 bj6ck62k7g3m/4jp6y4
1p3pg ru.4g4u 55j/3
vm ul41o4n dl3k27g4fu/6
bj6eji35j/ jp6y4dk3u35/4fm,4k271ul3286
5k45j/35j4up jp6s062l4ru.41j4vu/6a8
go6s/6.e4gji go6g4u.3ap6d03k27
go6g4ao6ap6d03k27
ji3uv; vpu45k4qu0 jp6;5 283jt x965 c.4
u 2u/4u,cjo4u.3bp6h9 2l4k54qu0 g4j54up jp6y4
2jo4ji3x96gji <
5k4ek4t;3m4ul4e. wj/ k27bp6
ru.4g4d042k62j/32k7bp6
53u.3s84u,v y4284dj;6
cjo4bp4jo6ji3k27jp6;5 g4vu,3eo3nji3u.3bp6d04k27
194wji 1u,6g83kx7
</textarea>
<br />
<h2>
輸出
</h2>
<textarea style="width:100%;" rows=6 id="output">
  
</textarea>

JavaScript

//data source from :https://github.com/chewing/libchewing/blob/master/data/phone.cin

var map = {"3":"ˇ","4":"ˋ","6":"ˊ","7":"˙","53":"只","54":"至","56":"直","83":"阿","84":"阿","86":"嗄","87":"啊","93":"矮","94":"愛","96":"捱","103":"板","104":"半","183":"把","184":"罷","186":"拔","187":"吧","193":"百","194":"敗","196":"白","203":"膽","204":"但","283":"打","284":"大","286":"答","287":"疸","293":"歹","294":"代","503":"展","504":"佔","583":"眨","584":"榨","586":"扎","587":"蚱","593":"窄","594":"債","596":"宅",",  ":"ㄝ","-  ":"ㄦ",".  ":"ㄡ","/  ":"ㄥ","0  ":"ㄢ","1  ":"ㄅ","2  ":"ㄉ","3  ":"ˇ","4  ":"ˋ","5  ":"ㄓ","6  ":"ˊ","7  ":"˙","8  ":"ㄚ","9  ":"ㄞ",";  ":"ㄤ","a  ":"ㄇ","b  ":"ㄖ","c  ":"ㄏ","d  ":"ㄎ","e  ":"ㄍ","f  ":"ㄑ","g  ":"ㄕ","h  ":"ㄘ","i  ":"ㄛ","j  ":"ㄨ","k  ":"ㄜ","l  ":"ㄠ","m  ":"ㄩ","n  ":"ㄙ","o  ":"ㄟ","p  ":"ㄣ","q  ":"ㄆ","r  ":"ㄐ","s  ":"ㄋ","t  ":"ㄔ","u  ":"ㄧ","v  ":"ㄒ","w  ":"ㄊ","x  ":"ㄌ","y  ":"ㄗ","z  ":"ㄈ","%keyname  ":"end","%chardef  ":"begin","- ":"ㄦ",", ":"ㄝ",",4":"誒",". ":"歐",".3":"偶",".4":"嘔",".6":"吽","/ ":"鞥","; ":"骯",";3":"軮",";4":"盎",";6":"昂","0 ":"安","03":"俺","04":"暗","06":"雸","1 ":"ㄅ","1/ ":"崩","1/3":"菶","1/4":"蹦","1/6":"甭","1; ":"幫","1;3":"榜","1;4":"棒","10 ":"班","18 ":"八","19 ":"掰","1i ":"玻","1i3":"跛","1i4":"播","1i6":"伯","1i7":"伯","1j ":"逋","1j3":"補","1j4":"不","1j6":"不","1j7":"不","1l ":"包","1l3":"保","1l4":"報","1l6":"雹","1o ":"背","1o3":"北","1o4":"被","1o7":"唄","1p ":"奔","1p3":"本","1p4":"笨","1u ":"逼","1u, ":"憋","1u,3":"癟","1u,4":"彆","1u,6":"別","1u/ ":"兵","1u/3":"餅","1u/4":"並","1u0 ":"邊","1u03":"扁","1u04":"便","1u3":"比","1u4":"必","1u6":"鼻","1ul ":"標","1ul3":"表","1ul4":"鰾","1up ":"賓","1up3":"稟","1up4":"殯","2 ":"ㄉ","2. ":"都","2.3":"斗","2.4":"鬥","2/ ":"登","2/3":"等","2/4":"鄧","2; ":"當","2;7":"噹","2;3":"檔","2;4":"當","20 ":"單","28 ":"搭","29 ":"呆","2j ":"都","2j/ ":"東","2j/3":"懂","2j/4":"動","2j0 ":"端","2j03":"短","2j04":"段","2j3":"賭","2j4":"度","2j6":"讀","2ji ":"多","2ji3":"躲","2ji4":"惰","2ji6":"奪","2ji7":"掇","2jo ":"堆","2jo3":"謉","2jo4":"對","2jp ":"敦","2jp3":"盹","2jp4":"頓","2k6":"得","2k7":"的","2l...