我收到了以下格式的电子邮件:
joe+12312313@aDomain.com
首先,我需要确保电子邮件的域名等于aDomain.com
接下来,我需要在+
符号之前提取之前的所有内容
如果我能得到以下物品,那就太好了:
var objParts = {
localPart: null,
domain: null,
};
console.log(objParts.localPart) // joe
console.log(objParts.domain) // aDomain.com
我知道我们必须使用正则表达式。我是JS的新手。
答案 0 :(得分:2)
您似乎不必在此验证通用电子邮件格式。
您可以拆分主要点@
和+
,然后提取数据:
const email = 'joe+12312313@aDomain.com'
const domain = email.split('@').pop() // split on '@' and get the last item
const local = email.split('+').shift() // split on '+' and get the first item
console.log(domain);
console.log(local);

答案 1 :(得分:2)
var email = "joe+12312313@aDomain.com";
var objParts = CreateEmailParts(email);
console.log(objParts.localPart);
console.log(objParts.domain);
function CreateEmailParts(email)
{
if(email)
{
var objParts = {
domain: email.split('@')[1], // caution: hoping to have the domain follow @ always
localPart: email.split('+')[0], // caution: hoping to have the ema follow @ always
};
return objParts;
}
}
答案 2 :(得分:1)
使用简单的split
:
var str = "joe+12312313@aDomain.com";
var parts = str.split("@");
var objParts = {
localPart: parts[0].split('+')[0],
domain: parts[1],
};
console.log(objParts);