更新:編輯,因爲我不知道我在說什麼之前。在預先提交的javascript中刪除「壞」字符的提交數據?
我有一個表單提交給服務器端腳本,該腳本使用該數據爲Web服務生成XML輸出。如果在數據中存在無效字符(我認爲這意味着「不允許在XML中」,但可能與編碼有關),XML會發出cro語。這個錯誤經常發生,因爲許多用戶剪切/粘貼文檔等來填寫表單。
我無法修改使用數據或將其放入XML(無法訪問服務器)的服務器端腳本,因此無法清理數據服務器端。爲了至少緩解問題,直到我們可以添加一些服務器端消毒,我想攔截表單提交與JavaScript和擦洗每個文本輸入和textarea的「壞」字符。我知道如何在表單中循環,並期望我將要在thisString.replace()中引入一個正則表達式來處理它。
我不知道的是(a)在正則表達式中使用.replace()是否正確,如果是,(b)在正則表達式中應該怎麼做。我希望允許儘可能多的字符而不破壞XML輸出。
謝謝。
無論你做什麼,你都需要提醒負責服務器端的人做衛生設施。 JS只能清理系統正常用戶的數據。惡意用戶可以通過使用簡單的tcp連接到您的http服務器輕鬆繞過JS。 – nhahtdh
請原諒? UTF-8可以編碼整個100,000個項目的Unicode目錄。用戶提交什麼類型的字符? –