AS/400中文自有 0E 0F 隱藏字元的問題,這對需要計算有中文字和ASCII字元混雜的字串長度來說,好像有一點小複雜,所以就來個投機的方法,就把所有ASCII的半形字元轉換為對應的全形文字,來避開 0E 0F所帶來計算實際字串長度所帶來的困擾。
function Half2Full() {
var i = 0;
vat aTmp = new Array();
var zStr1 = document.getElementById("字串來源ID").value;
var zStr2 = "";
for(i = 0; i < zStr1.length; i++) {
if(zStr1.charCodeAt(i) >=0 && zStr1.charCodeAt(i) <= 32) {
aTmp[i] = 0; //ascii 小於等於 32的字元,都先清為 null
} else if(zStr1.charCodeAt(i) >=33 && zStr1.charCodeAt(i) <= 126) {
aTmp[i] = zStr1.charCodeAt(i) + 65248; //ascii介於33~126之間的字元,加上65248準備轉為全型unicode
} else {
aTmp[i] = zStr1.charCodeAt(i);
}
zStr2 += String.fromCharCode(aTmp[i]); //轉為全型unicode
}
document.getElementById("字串來源ID").value = zStr2; //裝轉換結果回填到原來源字串位置
}
沒有留言:
張貼留言