如何通过使用javascript删除中间名来仅提取名和姓

时间:2014-10-07 04:32:30

标签: javascript jquery

我试图只显示名字和姓氏。有时会有一个中间名来。在这种情况下,我需要删除中间名称并加入名字和姓氏。如何使用JavaScript。 该名称来自数据库中的变量,如

var displayname="abc pqr xyz"

我只需要" abc xyz"变量。 提前致谢

7 个答案:

答案 0 :(得分:9)

您可以拆分空格并获取数组的第一个和最后一个元素。

var displayname = "abc pqr xyz";
var tmp = displayname.split(" ");
displayname = tmp[0] + " " + tmp[tmp.length-1];

答案 1 :(得分:2)

您可以使用正则表达式仅保留第1组和第3组......

var displayname = "abc pqr xyz";
var newname = displayname.replace(/(\w+\s+)(\w+\s+)(\w+)/, '$1$3');

答案 2 :(得分:1)

只是抛出另一个正则表达式答案,我认为这个答案比分裂更少。这适用于任何数字 - 包括零 - 中间名。

var name = "abc def ghi jkl";
var re = /^(\w+ ).*?(\w+)$/;
name.search(re);
alert(RegExp.$1 + " " + RegExp.$2);

http://jsfiddle.net/d1L3vqc5/

答案 3 :(得分:0)

如果名字由两个或多个单词组成(例如' Anna Maria Middle_Name Last_Name')...

var displayname = "abc pqr xyz";
var tmp = displayname.split(/\s+/);
if (tmp.length > 2)
    tmp.splice(-2, 1);
alert(tmp.join(' '));

答案 4 :(得分:0)

您可以使用split()方法并获取第一个和最后一个数组元素

var displayname="abc pqr xyz";
var result = displayname.split(" ");
alert( result[0]+" "+ result[2] );

答案 5 :(得分:0)

var displayname = "abc pqr xyz";
var d = displayname.replace(/\s+\w+\s/g, " "); 
console.log(d)

答案 6 :(得分:0)

要仅获取名字和姓氏,可以先在字符串旁边.split,使其变成数组。然后获得名字和姓氏并将其添加在一起。

const displayname = "abc pqr xyz";
const splitDisplayName = displayname.split(" ");
const newDisplayName = splitDisplayName[0] + " " + splitDisplayName[2];