可使用正则表达式删除中文字符:基础场景用/\u4e00-\u9fa5/g,扩展需求加CJK扩展区,推荐/\p{Script=Han}/gu(需u标志),并可叠加标点类匹配。

要删除文本中的汉字(中文字符),可以使用正则表达式匹配 Unicode 中的中文字符范围,然后替换为空字符串。关键在于准确覆盖常用汉字、标点及扩展区,同时避免误删字母、数字、符号或日韩字符(除非你明确需要)。
匹配并删除基础汉字(含常用中文标点)
最常用的中文字符 Unicode 范围是 \u4e00-\u9fa5,它覆盖了基本汉字(约 2 万个)和全角中文标点(如,。!?“”‘’等)。适用于大多数简体中文场景:
s.replace(/[\u4e00-\u9fa5]/g, '')
- ✅ 匹配:一、你、好、,、!、“、《、》
- ❌ 不匹配:a、1、@、\n、英文字母、日文假名、韩文
更全面:覆盖扩展汉字与兼容区
若需处理古籍、生僻字、繁体、港台用字或《康熙字典》增补字,建议加入以下扩展区间:
s.replace(/[\u4e00-\u9fa5\u3400-\u4dbf\u20000-\u2a6df\u2a700-\u2b73f\u2b740-\u2b81f\u2b820-\u2ceaf]/g, '')
- \u3400-\u4dbf:CJK 扩展 A 区(3 万+ 汉字,含大量繁体/古字)
- \u20000-\u2a6df 等:扩展 B、C、D、E、F 区(需注意 JavaScript 中需用 UTF-16 代理对,但现代引擎如 Chrome/Firefox/Node.js 12+ 原生支持)
- ⚠️ 注意:部分老环境(如 IE)不支持 \u{20000} 这类花括号语法,推荐用双字节代理对写法或使用
u标志(见下条)
推荐写法:启用 u 标志 + 宽泛 Unicode 类
ES2015+ 支持 /.../u 模式,可安全匹配增补平面字符,并配合 Unicode 属性转义(更语义化):
s.replace(/\p{Script=Han}/gu, '')
-
\p{Script=Han}精确匹配所有汉字脚本字符(含中、日、韩共用汉字,但不含假名/谚文) -
g全局匹配,u启用 Unicode 模式(必需) - ✅ 兼容性好(Node.js ≥10.0,Chrome ≥64,Firefox ≥78)
- ? 若还需删除中文全角标点(如 、【、】),可叠加:
/[\p{Script=Han}\p{Pc}\p{Pf}\p{Pi}\p{Po}\p{Ps}]/gu
注意事项与常见误区
- 别用
[一-龥]:这是过时写法,范围不完整且易出错(如漏掉「〇」「々」) - 别混淆
\w:JavaScript 中\w默认只匹配 ASCII 字母数字下划线,不匹配汉字 - 删除后保留空格?如需清理多余空白,可追加:
.replace(/\s+/g, ' ').trim() - 想保留英文/数字/符号,只删中文?上述所有方案默认就是如此,无需额外排除










