Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从模式电子邮件地址中提取名字和姓氏_Javascript_String_Split - Fatal编程技术网

Javascript 从模式电子邮件地址中提取名字和姓氏

Javascript 从模式电子邮件地址中提取名字和姓氏,javascript,string,split,Javascript,String,Split,我正试图从一系列电子邮件地址中找出我的名字和姓氏。每个电子邮件地址都有一个模式。模式是第一位的。last@company.com但在某些情况下,它可能类似于first.middle。last@company.com. 主要的一点是,电子邮件中的名字和姓氏之间可能有一些东西,但并不总是如此。 主模式(始终相同)是第一个字符串,直到第一个点始终是第一个名称,最后一个名称始终是最后一个字符序列,直到从上一个点开始的@char。 示例: 查尔斯。bukowski@company.com 第一:查尔斯 最

我正试图从一系列电子邮件地址中找出我的名字和姓氏。每个电子邮件地址都有一个模式。模式是第一位的。last@company.com但在某些情况下,它可能类似于first.middle。last@company.com. 主要的一点是,电子邮件中的名字和姓氏之间可能有一些东西,但并不总是如此。 主模式(始终相同)是第一个字符串,直到第一个点始终是第一个名称,最后一个名称始终是最后一个字符序列,直到从上一个点开始的@char。 示例:

查尔斯。bukowski@company.com 第一:查尔斯 最后:布可夫斯基

查尔斯,马克。bukowski@copmany.com 第一:查尔斯 最后:布可夫斯基

查尔斯·马克斯。bukowski@company.com 第一:查尔斯 最后:布可夫斯基

得到名字很容易。我有以下变量:

var empmail = 'charles.x.markus.bukowski@company.com'
var empname = empmail.substring(0, empmail.indexOf("."));
我找不到获取姓氏的方法。

使用带有正则表达式的方法获取姓氏

var empmail='charles.x.markus。bukowski@company.com'
var match=empmail.match(/^(\w+)\..*\(\w+@/);
var empname=match[1];
var emplname=match[2];
console.log(
empname,
雇员姓名
)
使用方法:


您也可以对给定的电子邮件ID使用此方法

var emailfirstname = a.slice(0,a.indexOf('@')).split('.')[0]

var emailLastname = a.slice(0,a.indexOf('@')).split('.')[a.slice(0,a.indexOf('@')).split('.').length - 1]

这应该是您的姓氏:

javascript:

empmail.match(/[a-z]+(?=@)/i);
php:


这太棒了!这是一个分裂中的分裂。我没想过这个。请您告诉我,[0]的确切含义是什么?Split返回一个字符串数组。这个表达式
[0]
返回数组()的第一个元素。MySQL有一个名为SUBSTRING_INDEX()的有用函数,可以解决您的问题。选择SUBSTRING_INDEX(“a.b.c.d”,”,-1)返回“d”。这是一个javascript版本的可能的
empmail.match(/[a-z]+(?=@)/i);
preg_match("/[a-z]+(?=@)/", $input_line, $output_array);