Javascript:提取电子邮件的本地部分和域

时间:2017-07-12 20:37:29

标签: javascript

我收到了以下格式的电子邮件:

joe+12312313@aDomain.com

首先,我需要确保电子邮件的域名等于aDomain.com 接下来,我需要在+符号之前提取之前的所有内容

如果我能得到以下物品,那就太好了:

var objParts = {
        localPart: null,
        domain: null,
        };

console.log(objParts.localPart) // joe
console.log(objParts.domain) // aDomain.com

我知道我们必须使用正则表达式。我是JS的新手。

3 个答案:

答案 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;
  }
}

https://jsfiddle.net/pdkvx82d/

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