javascript - 将每个捕获的字符替换为 *?
问题描述
我有电子邮件,想将第一个字母和 @ 之间的每个字符替换为 *。例子:
john.smith@gmail.com -> j*********@gmail.com
这是我的代码,但它产生了一颗星而不是许多星 - 我坚持下去:
let h="john.smith@gmail.com".replace(/(.)(.*)@/,'$1*')
console.log(h);
有什么解决办法吗?
解决方案
您可以使用以下回调参数replace
:
let h = "john.smith@gmail.com".replace(/(.)(.*)@/, (_, first, rest) =>
first + "*".repeat(rest.length) + "@"
);
console.log(h);
推荐阅读
- regex - 如何使用正则表达式获取 json 文档的键的所有空格
- asp.net-core-mvc - 当我在服务器上上传 pdf 文档时。它保存 pdf 但 pdf 大小为 0 字节
- python - pyspark.sql 'pandas_udf()' 函数之前的冒号 (:)?
- java - 试图了解 javafx.scene.image、awt.image、BufferedImage、RenderedImage、Raster、PlanarImage 之间的区别
- python - numba 中有没有办法使用 numpy datetime64 变量确定天数和小时数?
- facebook - 纵向视频应使用哪个 H.264 级别?
- python - 获取给定字符串的唯一子字符串列表
- pandas - 获取熊猫数据框中的列表元素
- java - 改造 2:在没有 Java 8 的列表中解析数据结构
- jenkins - 詹金斯:无法连接 git 存储库