gpt4 book ai didi

javascript - 在预提交javascript中清除 "bad"字符的表单提交数据?

转载 作者:行者123 更新时间:2023-11-30 18:14:01 24 4
gpt4 key购买 nike

更新:编辑是因为我不太清楚我之前在说什么。

我有一个提交给服务器端脚本的表单,该脚本使用该数据为 Web 服务生成 XML 输出。如果数据中存在无效字符(我认为这只是意味着“XML 中不允许”,但可能与编码有关),XML 就会发出声音。经常出现这个错误是因为很多用户剪切/粘贴word文档等来填写表格。

我无法修改使用数据的服务器端脚本或将其放入 XML(我无权访问服务器),因此我无法清理服务器端的数据。为了至少在我们可以添加一些服务器端清理之前缓解问题,我想用 javascript 拦截表单提交并清除每个文本输入和文本区域中的“错误”字符。

我知道如何遍历表单,我希望将正则表达式放入 thisString.replace() 来处理它。

我不知道的是 (a) 将 .replace() 与正则表达式一起使用是否是正确的方法,如果是这样,(b) 正则表达式中实际应该包含什么。我想在不破坏 XML 输出的情况下允许尽可能多的字符。

谢谢。

最佳答案

通常浏览器以 UTF-8 格式提交数据,无论它是从哪里复制粘贴的,只要您将编码设置为 utf-8 并使用 http header Content-Type: text/html; charset=utf-8

IE当然有一些异常(exception)。

另外,没有非 UTF8 字符这样的东西。您的意思是浏览器以某种不兼容 utf-8 的编码对表单进行编码,例如 Windows-1252。

除了将字符限制为 ASCII 字符外,您在 javascript 中无能为力,但这并不能真正阻止普通用户以外的任何事情。在编码攻击的情况下,您必须始终在服务器端检查编码。

关于javascript - 在预提交javascript中清除 "bad"字符的表单提交数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com