我的意见是 var email =“xyz + wex + rr%40gmail.com”;
我需要输出
xyz wex rr @ gmail.com
我已尝试使用以下正则表达式,我只能从我的字符串中删除+如何用@
替换%40电子邮件.replace(/ + / g,“”);
答案 0 :(得分:2)
var email = "xyz+wex+rr%40gmail.com";
email = decodeURIComponent(email).replace(/\+/g, " ");
console.log(email);
decodeURIComponent解码像%40这样的东西。它只是不会用空格替换+
符号,所以这是通过RegEx来完成的,转义加号,这在RegEx中具有特殊含义。
答案 1 :(得分:1)
您可以使用unescape函数首先取消字符串,而不是将+
替换为
试试这个
var email = unescape("xyz+wex+rr%40gmail.com").replace(/[+]/g, " ");
console.log(email)

正如@Florian Albrecht所说,unescape
已被弃用,所以弗洛伊德的答案已经弃用了
答案 2 :(得分:1)
这是必需的解决方案,
email.replace(/\+/g, " ").replace(/\%40/g, "@")
var email = "xyz+wex+rr%40gmail.com";
console.log(email.replace(/\+/g, " ").replace(/\%40/g, "@"))

结果:xyz wex rr@gmail.com
请运行以上代码段