javascript - 如何用星号替换 MongoDB 连接字符串中的密码 - JavaScript?

标签 javascript regex mongodb

我想用像 *** 这样的星号替换 MongoDB 连接字符串中的密码。所以,相反

mongodb://john:pwd897@some_url:234/database_name

应该是

mongodb://john:***@some_url:234/database_name

我正在尝试使用正则表达式来解析它:

^(mongodb:(?:\/{2})?)((\w+?):(\w+?)@|:?@?)(\w+?):(\d+)\/(\w+?)$

看来我需要更换 4 美元。但我不知道该怎么做。原因之一是字符串的某些部分可能不存在,包括密码本身。

最佳答案

已编辑,因此它可以使用包含 ::

的密码
var str = "mongodb://john:lal:ala@some_url:234/database_name";
str = str.replace(/\/\/([^:]+):(.*)@/,"//$1:***@");
console.log(str); // <- mongodb://john:***@some_url:234/database_name

要为用户名和密码加注星号,您可以使用例如:

var str = "mongodb://john:lal:ala@some_url:234/database_name";
str = str.replace(/\/\/([^:]+):(.*)@/,"//***:***@");
console.log(str); // <- mongodb://***:***@some_url:234/database_name

或者只是:

var str = "mongodb://john:lal:ala@some_url:234/database_name";
str = str.replace(/\/\/.*@/,"//***:***@");
console.log(str); // <- mongodb://***:***@some_url:234/database_name

关于javascript - 如何用星号替换 MongoDB 连接字符串中的密码 - JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48157082/

相关文章:

javascript - 如何在jsTree中给子节点一个带有JSON的 'id'

javascript - Meteor.users.allow 永远不会触发,但 Meteor.users.deny 有效

javascript - 更改 innerHTML 后更改 contenteditable div 中的光标位置

java - 在未知索引处的某些字符之间搜索子字符串

Java-MongoDB 将数组转换为 MongoCollection

java - 安卓发布请求

mysql - 解析mysql中的字段正则表达式

html - 如何匹配 `<a>` 标记之前的文本然后返回 `<a>` 节点?

javascript - postman 仅向 Mongoose 嵌套级别 1 发帖

java - 带有 mongodb bson 库的 Mongodb 驱动程序在单独的项目中使用时会导致 completableFuture 挂起