gpt4 book ai didi

firebase - 替换 firebase 键中无效字符的好方法?

转载 作者:行者123 更新时间:2023-12-02 00:51:47 24 4
gpt4 key购买 nike

我的用例是保存用户的信息。当我尝试使用用户的电子邮件地址作为 key 将数据保存到 Firebase 时,Firebase 会抛出以下错误:

Error: Invalid key e@e.ee (cannot contain .$[]#)

所以,显然,我无法通过电子邮件索引用户信息。替换 . 的最佳实践是什么?

我已成功将 . 更改为 -,但这并不能解决问题,因为某些电子邮件的 - 中包含 -地址。

目前,我正在使用

var cleanEmail = email.replace('.','`');

但是这可能会产生冲突。

最佳答案

在电子邮件地址中,将点 . 替换为逗号 ,。此模式是最佳实践。

逗号 , 不是电子邮件地址中允许使用的字符,但 Firebase 键中允许使用。同样,点 . 是电子邮件地址中允许的字符,但在 Firebase 键中不允许使用。所以直接替换就可以解决你的问题。您可以在不循环的情况下索引电子邮件地址。

您还有另一个问题。

const cleanEmail = email.replace('.',','); // only replaces first dot

只会替换第一个点但电子邮件地址可以有多个点。要替换所有点,请使用正则表达式

const cleanEmail = email.replace(/\./g, ','); // replaces all dots

或者,您也可以使用 split() - join() 模式来替换所有点。

const cleanEmail = email.split('.').join(','); // also replaces all dots

关于firebase - 替换 firebase 键中无效字符的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31904123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com