gpt4 book ai didi

javascript - 如何使用正则表达式获取@等电子邮件域前后的内容

转载 作者:行者123 更新时间:2023-11-29 23:28:57 25 4
gpt4 key购买 nike

我是正则表达式的初学者。谁能帮我拆分用户在输入框中输入的电子邮件地址值。例如,从 example@abc.com 我想使用正则表达式获取“example”和“www.abc.com”。目前我正在使用以下自动完成代码:

var autoCompleteOptions = {
url: function(phrase) {
if (phrase.match(/\./)) {
var newMatch = /^(?:https?:\/\/)?(?:www\.)?(.*)/.exec(phrase);
phrase = newMatch[1].replace(/\..*/, "");
}
},

最佳答案

假设用户输入的电子邮件地址存储在变量email中,您可以使用以下代码拆分用户名和域部分。

var email = "example@abc.com";
var match = email.match(/(.*)@(.*)/);
var username = match[1];
var domain = match[2];

如果要在 domain 的开头添加 www,请添加以下行。

domain = 'www.' + 域名;

或者,您可以使用 JavaScript split() 函数在没有 RegEx 的情况下实现相同的功能。

var email = "example@abc.com";
var parts = email.split('@');
var username = parts[0];
var domain = parts[1];

编辑

由于电子邮件中的用户名部分可能会变得复杂,上述解决方案在某些情况下可能会失败。对于完整的电子邮件验证,需要使用复杂的 RegEx。 Ref

但是对于这个问题提出的问题,基于域名不能包含@符号的事实,可以实现一个简单的解决方案。

下面的代码应该适用于所有情况。

var email = "example@abc.com";
var parts = email.split('@');
//The last part will be the domain
var domain = parts[parts.length - 1];
//Now, remove last part
parts.pop();
//Everything else will be username
var username = parts.join('@');

关于javascript - 如何使用正则表达式获取@等电子邮件域前后的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47986717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com