我在我的頁面上有一個表單,用戶可以鍵入一些文本並提交。然後將文本發送到服務器(Node.js頂部的REST API)並保存到DB(postgres)。如何從字符串中刪除控制字符?
問題是一些奇怪的字符(控制字符)偶爾會保存到數據庫 - 例如轉義控制字符(^ [)或退格控制字符(^ H)。通常它不會破壞任何東西,因爲這些字符是不可見的,所以html呈現正確。但是,當我爲RSS閱讀器提供XML內容時,由於這些控制字符(它們在刪除它們後起作用),它們(閱讀器)返回「格式不正確的XML」。
我的問題是我如何從客戶端(javascript)或服務器級別(javascript/node.js)的字符串中刪除這些字符?
我已經找到了正確的答案在這裏:removing control characters in utf-8 string
s.replace(/[\x00-\x1F\x7F-\x9F]/g, "");
由...只是這樣做解碼?取出字符串,使用字符串替換函數用「'替換任何非法字符(或字符範圍),然後保存。 – 2014-11-04 17:39:06
檢查這個主題http://stackoverflow.com/questions/4374822/javascript-regexp-remove-all-special-characters – Asik 2014-11-04 17:40:13
使用CDATA來包裝這樣的數據 – 2014-11-04 17:42:14