JavaScript:这种特殊字符的替换正确吗?

JavaScript:这种特殊字符的替换正确吗?,javascript,Javascript,由于从其他应用程序复制粘贴文本,我们的web应用程序出现了几次错误。保存的ASCII控制字符始终是根本原因(例如0x1A)。我想从输入字符串中删除所有可能的控制字符,除了换行符和制表符。我创建了以下代码: var originalString, newString; newString = originalString.replace(/[\x00-\x08\x0B-\x1F\x7F]+/g, ''); 所以我保留了制表器(0x09)和换行符(0x0A)。我的测试都很好,但在将此代码添加到应用

由于从其他应用程序复制粘贴文本,我们的web应用程序出现了几次错误。保存的ASCII控制字符始终是根本原因(例如0x1A)。我想从输入字符串中删除所有可能的控制字符,除了换行符和制表符。我创建了以下代码:

var originalString, newString;
newString = originalString.replace(/[\x00-\x08\x0B-\x1F\x7F]+/g, '');
所以我保留了制表器(0x09)和换行符(0x0A)。我的测试都很好,但在将此代码添加到应用程序之前,我想确认一下


这就是我想要的吗?对吗?还是应该延长?或者这应该在后端完成?

在前端执行的任何限制都必须在后端执行。后端是重要的部分,前端只是提高了优秀演员的可用性。与其排除字符,不如明确设置允许的字符(例如,
/[a-zA-Z0-9\.-/
)--如果您希望允许非ASCII字符,而不删除0x20以下的所有字符(0x09和0x0A除外),则此决定会更改您还关心\r字符吗?@vol7ron如果他们打算支持所有utf文本“vol7ron”,那会复杂得多。我们允许输入任何UNICODE字符,所以我只想删除控制字符“zoran404”,基本上这就是我正在做的…从dec(0)到dec(31)删除字符除了制表符和换行符,还有代码为0x7F的DEL字符。关于回车,我不能输入那个字符,所以我不在乎that@zoran404是的:)这就是我所说的非ASCII。这完全取决于实现,在这种情况下没有意义。