react native 中text 特殊符号处理

今天遇到一个用户名上半部分被裁剪的问题,只有这个用户名会,经过排查,初步定位到是这个文字包含特殊符号导致的。

尝试了一些方法,例如增加lineheight, 加一个paddingTop 把文字往下顶,都能显示全部文字,但正常的文字又显得布局很丑很偏。

于是搜索个特殊符号“R࿆ebirth༢”,主要还是前面的那个莲花/࿆导致的,删除后就正常。

问了chatGPT ,符号 ‘࿆’ 的 Unicode 代码点是 U+0F06。它属于藏文字母的范围。

查了React native 的一些资料,暂时没有看到号的解决办法,先记录下。

目前我的临时解法是过滤掉藏文展示。

function removeTibetanCharacters(text) {
  return text.replace(/[\u0F00-\u0FFF]/g, '');
}

// 示例用法
const inputText = "你的文本 R࿆ebirth༢";
const filteredText = removeTibetanCharacters(inputText);

如果这样解的话,还需要注意在用户修改信息的时候,禁止输入藏文等特殊符号。

Leave a Comment

邮箱地址不会被公开。 必填项已用*标注