首页 > 解决方案 > 使用 Javascript 正则表达式屏蔽非 ASCII 字符串

问题描述

我正在尝试使用 javascript 正则表达式来屏蔽字符串。但是非ASCII字符存在问题。你觉得我怎么能解决这个问题?

这是我的代码:

var name = "Üsüaüü Bxbdüxüqzx Aqwexü"
var regex = /(?<![\p{L}\p{Mn}\p{Nd}_])(\p{L})(\p{L}*)\b/ug
console.log(name.replace(regex, (_, first, middle, last) => `${first}${'*'.repeat(middle.length)}`))

预期输出:

Ü***** B********* A*****

感谢您的回答。

标签: javascriptregexmasknon-ascii-characters

解决方案


只需替换此行

var regex = /(?<![\p{L}\p{Mn}\p{Nd}_])(\p{L})(\p{L}*)\b/ug

进入

var regex = /(?<![\p{L}\p{Mn}\p{Nd}_])(\p{L})(\p{L}*)/ug

我希望你得到你的解决方案


推荐阅读