JavaScript:提取电子邮件地址的部分并将其拆分为多个部分
JavaScript: Extract parts of e-mail address and split into parts
如果像许多公司中常见的那样存在点,如何提取电子邮件地址的部分,并将其拆分为多个部分、名字和姓氏?
输入1
perry.rhodan@galaxy.net
输入2
atlan@galaxy.net
需求输出1
Perry
Rhodan
galaxy
net
需求输出2
atlan
galaxy
net
我在下面用正则表达式和if子句给出了我的答案,if子句用于检查电子邮件中的点。但也许有一个正则表达式可以实现同样的结果?
使用C#执行此操作:
Regex regex = new Regex(@"(.+)@(.+)(?='.'w{2,})");
string texts = "perry.rhodan@galaxy.net'natlan@galaxy.net";
var list = new List<string>();
foreach (Match item in regex.Matches(texts))
{
list.AddRange(item.Groups[1].Value.Split('.').Where(v => !list.Any(l => l == v)));
list.AddRange(item.Groups[2].Value.Split('.').Where(v => !list.Any(l => l == v)));
}
foreach (var item in list)
{
Console.WriteLine(item);
}
function GetEmailParts( strEmail ){
var objParts = {
user: null,
firstName: null,
LastName: null,
domain: null,
tld: null
};
strEmail.replace(
new RegExp("^([a-z''d._%-]+)@((?:[a-z''d-]+''.)+)([a-z]{2,6})$", "i"),
function( $0, $1, $2, $3 ) {
objParts.user = $1;
if ($1.length > 1) {
$1 = $1.split(".");
for(var i = 0; i < $1.length; i++){
$1[i] = $1[i].substring(0,1).toUpperCase() + $1[i].substring(1,$1[i].length);
}
objParts.firstName = $1[0];
objParts.lastName = $1[1];
};
objParts.domain = $2;
objParts.tld = $3;
}
);
return( objParts );
}
console.log(GetEmailParts("perry.rhodan@gmail.com"));
# Gives back an Object with either First and Last name sub object
# or one single user sub object if no dot is present in the email
在行动中看到它:http://jsfiddle.net/nottinhill/0bh0vkd7/
我不知道你是否真的想自己写Regexp(在这种情况下,上面的答案可能会很好)。
然而,由于电子邮件地址通常是一组奇怪的解析库,如果您使用nodejs,我建议您寻找一个完整的解析器库,比如这个库。
相关文章:
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何将DIV标记的内容拆分为多个DIV
- 将AngularJS控制器拆分为多个文件
- 想要使用Javascript将一个JSON对象拆分为多个JSON对象
- 较短的正则表达式,按2个条件拆分,外部有空格
- 基于多个参数拆分Javascript数组中的值
- Javascript在第一个空格上拆分字符串
- 如何将日期和时间拆分为两个元素
- 拆分第二个分隔符值
- 基于两个分隔符进行拆分
- Javascript:拆分字符串,但仅使用 1 个结果
- 如何按子值将对象数组拆分为多个对象数组
- Regex-我需要在第一个数字后面拆分一个字符串
- Typescript 0.9.1.1模块被拆分为几个.ts文件
- angular js:将一个大型控制器拆分为多个文件
- 如何拆分具有多个分隔符的字符串
- 如何将复杂的字符串拆分为多个部分
- 使用 Jquery 将 JSON 数据拆分为多个数据
- Jquery 验证表单问题,同时拆分 2 个屏幕
- 在 2 个符号的索引处查找并拆分字符串