eNd*_*ddy 5 html javascript utf-8
用户可以复制并粘贴到textarea html输入中,有时会粘贴无效的UTF-8字符,例如,从包含选项卡的rtf文件中进行复制和粘贴。
如何检查字符串是否为有效的UTF-8?
我认为您误解了“UTF-8 字符”的含义。UTF-8 是 Unicode 的一种编码,它几乎可以表示人类历史上曾经存在过的几乎所有单个字符和字形,因此没有“无效”的 UTF-8 字符。
RTF 是一种独立于底层编码系统工作的格式系统 - 您可以将 RTF 与 ASCII、UTF-8、UTF-16 等一起使用。HTML 中的文本框仅尊重纯文本,因此任何 RTF 格式都将被自动剥离(除非您使用的是“丰富编辑”组件,我认为您没有使用)。
但是您确实描述了诸如空格字符(如制表符:)\t以 Unicode(以及 UTF-8)表示的内容。包含这些字符的字符串仍然是“有效的 UTF-8”,就您的业务需求而言,它只是无效的。
我建议只使用匹配不可见字符的正则表达式去除不需要的字符(从这里:匹配不可打印/非 ascii 字符并从文本中删除)
textBoxContent = textBoxContent.replace(/[^\x20-\x7E]+/g, '');
Run Code Online (Sandbox Code Playgroud)
该表达式[^\x20-\x7E]匹配任何不在代码点范围内的字符0x20(32,一个正常的空格字符' ')到0x7E(127,tidle'~'字符),所有其他字符都将被删除。
Unicode 的前 127 个代码点与 ASCII 相同,可以在此处查看:http : //www.asciitable.com/
| 归档时间: |
|
| 查看次数: |
9136 次 |
| 最近记录: |