使用正则表达式替换Javascript中的字符串

时间:2017-06-09 07:48:00

标签: javascript regex

我的意见是 var email =“xyz + wex + rr%40gmail.com”;

我需要输出

xyz wex rr @ gmail.com

我已尝试使用以下正则表达式,我只能从我的字符串中删除+如何用@

替换%40

电子邮件.replace(/ + / g,“”);

3 个答案:

答案 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

请运行以上代码段