Javascript如何把 登入轉成中 …
※ 引述《notes1000 ()》之銘言:
: 各位大大..請問 JavaScript 要如何才能把 登入 轉成正常的中文字啊
: 我有一個網頁系統,會上傳自已修改的一段 HTML 之後,系統會自動合併起來,
: 再把內容顯示出來...
: 我在上傳的 HTML 中輸入的是正常的中文字,但是上傳之後在網頁去顯示原始碼時
: 都是出現像 登入 這樣的編碼
: 由於系統會自動合併,所以不能在修改的HTML 中再使用 JavaScript
: 不知道各位大大還有什麼建議...
登 是一個 entity 瀏覽器會直接把html上的entity 轉換成相對應的文字
如 © 等
&#xnnnn;代表16進位unicode
&#nnnn;代表10進位unicode
在這個範例裏只有作 unicode的部分
var c = '我想要 登入這個網頁';
var d;
d = c.replace(/&(#)?(x)?([^&;]+);/g,
function (a, b, c, d) {
var r,n = 0;
if (b === '#') {
(c === 'x') ? n = '0x' + d : n = d;
if (isFinite(n)) {
r = String.fromCharCode(n);
return r;
}
}
return a;
}
);
alert(d);
http://jsfiddle.net/wcrqL/
主要原理 只是用regexp 把字串分成entity 再把每個entity切成數字部分
和前面的 # x
再將字串轉成16進位字串 和10進位字串
並測試是否能變成數字
最後把數字用fromCharCode轉換成相對應的符號
fromCharCode可以轉換unicode
完整的 de-entity 程式 請另行索取
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.175.74
※ 編輯: sk1765 來自: 203.73.175.74 (03/03 13:49)
推
03/04 21:20, , 1F
03/04 21:20, 1F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章