gpt4 book ai didi

javascript - 检查 javascript 字符串是否为有效的 UTF-8

转载 作者:太空狗 更新时间:2023-10-29 16:39:39 26 4
gpt4 key购买 nike

用户可以复制并粘贴到 textarea html 输入中,有时会粘贴无效的 UTF-8 字符,例如,从包含制表符的 rtf 文件复制和粘贴。

如何检查字符串是否为有效的 UTF-8?

最佳答案

我认为您误解了“UTF-8 字符”的含义。 UTF-8 是 Unicode 的一种编码,它几乎可以表示人类历史记录中曾经存在过的几乎所有单个字符和字形,因此在某种程度上不存在“无效”的 UTF-8 字符。

RTF 是一种独立于底层编码系统工作的格式系统 - 您可以将 RTF 与 ASCII、UTF-8、UTF-16 等一起使用。 HTML 中的文本框仅支持纯文本,因此任何 RTF 格式都会被自动去除(除非您使用的是“rich-edit”组件,我假设您没有)。

但是您确实描述了诸如空格字符(如制表符:\t)之类的东西是用 Unicode(以及 UTF-8)表示的。包含这些字符的字符串仍然是“有效的 UTF-8”,只是就您的业务需求而言是无效的。

我建议使用匹配不可见字符的正则表达式去除不需要的字符(从这里:Match non printable/non ascii characters and remove from text)

textBoxContent = textBoxContent.replace(/[^\x20-\x7E]+/g, '');

表达式 [^\x20-\x7E] 匹配任何不在代码点范围 0x20 中的字符(32,一个普通的空格字符 ' ') 到 0x7E (127, tidle '~' 字符),所有其他的都将被删除。

Unicode 的前 127 个代码点与 ASCII 相同,可以在这里看到:http://www.asciitable.com/

关于javascript - 检查 javascript 字符串是否为有效的 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314943/

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