Javascript 如何根据电子邮件地址域重定向到电子邮件登录页面

Javascript 如何根据电子邮件地址域重定向到电子邮件登录页面,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个注册页面,我正在捕获用户的电子邮件地址,一旦注册完成,用户必须激活一个帐户。。这个过程运作良好。。现在我看到的是 我想给“转到我的收件箱”按钮,当用户点击这个按钮,它应该自动重定向到电子邮件登录页面 例如:当用户在下一步注册时输入yahoo电子邮件id时,它应该重定向到yahoo登录页面 例如:当用户在下一步注册时输入gmail电子邮件id时,它应该重定向到gmail登录页面 例:hotmail 美国在线等 当你假设@后面的部分总是他域,用户可以在那里找到它的收件箱时,有人能给我一些建议

我有一个注册页面,我正在捕获用户的电子邮件地址,一旦注册完成,用户必须激活一个帐户。。这个过程运作良好。。现在我看到的是

我想给“转到我的收件箱”按钮,当用户点击这个按钮,它应该自动重定向到电子邮件登录页面

例如:当用户在下一步注册时输入yahoo电子邮件id时,它应该重定向到yahoo登录页面

例如:当用户在下一步注册时输入gmail电子邮件id时,它应该重定向到gmail登录页面

例:hotmail 美国在线等


当你假设@后面的部分总是他域,用户可以在那里找到它的收件箱时,有人能给我一些建议吗。(像gmail.com、hotmail.com等)你可以做类似的事情

(function () {
    var mail = "your.aweseome-mail@gmail.com",
        atPos = mail.indexOf("@"),
        hoster = mail.substring(atPos + 1);
    alert('https://' + hoster);
}())​
更新: 最好使用硬编码列表(正如Uwe Keim在上面提出的),因为上面的代码可能只适用于大多数免费邮件服务,而不适用于“私有”域

更新:

我更新了JSFIDLE示例,因此它使用已定义服务的列表来检查域(用于登录web界面)是否可用

(function () {
    var mail = "your.aweseome-mail@gmail.com",
        services = {
            "gmail.com": "https://gmail.com",
            "hotmail.com": "https://hotmail.com"           
        },
        atPos = mail.indexOf("@"),
        hoster = mail.substring(atPos + 1);

    if (services[hoster]) {
        alert('Go to: ' + services[hoster]);
    } else {
        alert('Nothing to do here');
    }
}())​

制作一个硬编码列表(例如在数据库中),将公共域映射到其各自web界面的登录URL。例如,
*gmail*=>https://mail.google.com您也应该考虑没有Web邮件的地址,例如私有域。如果数据库查询没有返回任何内容,请不要显示“转到我的收件箱”按钮。因此,我的域是“@i-am-the-best-dev-ever.com”。你怎么能认为这也是我的网络邮箱地址?如果我有的话?还有,SSL总是可用的吗?首先,我认为你是绝对正确的。如果你有自己的域名,这可能不起作用。这只适用于所有这些免费服务。如果他们不提供ssl,我会立即切换我的邮件提供商。但是,是的,使用硬编码列表可能是更好的选择。谢谢。然而,我倾向于在服务器端而不是在客户端这样做,因为这个列表可能会成为一个巨大的列表,而将它传输给用户是没有必要的,因此我认为应该避免。