Javascript如何把 登入轉成中 …

看板Ajax作者 (鼎玉鉉)時間14年前 (2011/03/03 13:46), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
※ 引述《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
文章代碼(AID): #1DRoioos (Ajax)
文章代碼(AID): #1DRoioos (Ajax)