You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript多条件正则表达式:保留多语言字母、数字及指定字符

合并正则实现多语言字符、数字与#号的保留

你可以用一个包含否定字符类的正则表达式,一次性匹配并移除所有非多语言字母、非数字、非#号的字符,替换为空字符串即可。

实现代码

var text_string = '!#Ab+Z1_↕.🍏2ü翻訳';
text_string = text_string.replace(/[^\p{Letter}\p{Number}#]/gu, '');
console.log(text_string); // 输出:#AbZ12ü翻訳

正则说明

  • [^...]:否定字符类,匹配所有不在这个类里的字符
  • \p{Letter}:匹配任意Unicode多语言字母(包括中文、日文、拉丁字母等)
  • \p{Number}:匹配任意Unicode数字
  • #:明确保留#号
  • gu修饰符:g表示全局匹配,u表示启用Unicode模式,确保\p{}属性类生效

补充说明

你之前的三次replace操作存在问题:第三个replace(/[^#]/, '')没有加g修饰符,只会替换第一个非#字符,根本得不到期望结果。合并后的正则一次性处理所有情况,既简洁又准确。

内容的提问来源于stack exchange,提问作者Frank_G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:15:35