js 如何过滤utf8非3字节编码的字符串

js 如何过滤utf8非3字节编码的字符串

阅读 5.1k
1 个回答

Unicode 和 UTF-8 之间的转换关系表 ( x 字符表示码点占据的位 )

码点的位数    码点起值    码点终值    字节序列    Byte 1    Byte 2    Byte 3    Byte 4    Byte 5    Byte 6
  7    U+0000    U+007F    1    0xxxxxxx
11    U+0080    U+07FF    2    110xxxxx    10xxxxxx
16    U+0800    U+FFFF    3    1110xxxx    10xxxxxx    10xxxxxx
21    U+10000    U+1FFFFF    4    11110xxx    10xxxxxx    10xxxxxx    10xxxxxx
26    U+200000    U+3FFFFFF    5    111110xx    10xxxxxx    10xxxxxx    10xxxxxx    10xxxxxx
31    U+4000000    U+7FFFFFFF    6    1111110x    10xxxxxx    10xxxxxx    10xxxxxx    10xxxxxx    10xxxxxx

非3个字节就是0x0800-0xffff之外的

const str = '1。中\文a';
const reg = /[^\u0800-\uffff]/g;
str.replace(reg,'');
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题