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


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';

电子邮件被编码为测试%40Test.es

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

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

  • 使用DecoDeurOmponent()解码URI
  • 使用regex提取电子邮件地址

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);

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

在您的示例中,您需要从URL中提取用户名。Querystring或Hash键/值对可能更易于处理,但是您可以使用正则表达式或通过'/'将URL分开,然后循环结果以在'username'element'element'元素之后找到元素。

最新更新