的JavaScript。如何从字符串中提取URI编码的电子邮件?

时间:2017-03-10 14:39:10

标签: javascript regex extract

var string = 'https://opt.portal.co.uk/index/stepregistration/Username/test%40test.es/nextstep/1/lang/es?kmi=K54Nv1RdlV71hhiLEdPg0UZ0%3D&_ga=1.217245974.18890806.1485212';

电子邮件的编码方式与 test%40test.es

相同

使用JavaScript(没有jQuery)获取此电子邮件地址的方法是什么?

2 个答案:

答案 0 :(得分:1)

decodeURIComponent(string)

来自w3c的例子:

var uri = "https://w3schools.com/my test.asp?name=ståle&car=saab";
var uri_enc = encodeURIComponent(uri);
var uri_dec = decodeURIComponent(uri_enc);
var res = uri_enc + "<br>" + uri_dec;

https://www.w3schools.com/jsref/jsref_decodeuricomponent.asp

在您的示例中,您需要从网址中提取用户名。查询字符串或哈希键/值对可能更容易处理,但您可以使用正则表达式或将网址拆分为“/”并循环结果以查找“用户名”元素后面的元素。

答案 1 :(得分:1)

您可以使用以下方式完成此操作:

&#13;
&#13;
var string = 'https://opt.portal.co.uk/index/stepregistration/Username/test%40test.es/nextstep/1/lang/es?kmi=K54Nv1RdlV71hhiLEdPg0UZ0%3D&_ga=1.217245974.18890806.1485212';
var email = decodeURIComponent(string).match(/\w+@\w+\.\w+/g)[0];
console.log(email);
&#13;
&#13;
&#13;