我的输入是 var email =“xyz + wex + rr%40gmail.com”;使用正则表达式替换Javascript中的字符串
我需要输出
XYZ WEX RR @ gmail.com
我试图与这下面的正则表达式,我只能从我的字符串中删除+如何与替换%4015
email .replace(/ +/g,“”);
我的输入是 var email =“xyz + wex + rr%40gmail.com”;使用正则表达式替换Javascript中的字符串
我需要输出
XYZ WEX RR @ gmail.com
我试图与这下面的正则表达式,我只能从我的字符串中删除+如何与替换%4015
email .replace(/ +/g,“”);
这里需要溶液,
email.replace(/\+/g, " ").replace(/\%40/g, "@")
var email = "xyz+wex+rr%40gmail.com";
console.log(email.replace(/\+/g, " ").replace(/\%40/g, "@"))
结果:xyz wex [email protected]
请运行上述片断
可以使用UNESCAPE功能来第一UNESCAPE串并比
更换+
试试这个
var email = unescape("xyz+wex+rr%40gmail.com").replace(/[+]/g, " ");
console.log(email)
正如@Florian阿尔布雷希特说,unescape
已被弃用,从而已弃用Florian的回答较好
unescape已弃用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/unescape –
thanks for分享 –
var email = "xyz+wex+rr%40gmail.com";
email = decodeURIComponent(email).replace(/\+/g, " ");
console.log(email);
decodeURIComponent解码之类的东西40%。它只是不会用空格替换+
标志,所以这是通过RegEx完成的,转义加号在RegEx中具有特殊含义。
你必须转义像'+'这样的正则表达式中具有特殊含义的字符。试试'/ \ +/g' – Rajesh
只需用“\%40”作为替换的搜索字符串运行另一个替换。 – DocWeird
看看这个https://stackoverflow.com/a/20247435/2329980 –