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

问题描述 投票:2回答:7

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

var displayname="abc pqr xyz"

我只需要将“ abc xyz”赋给变量。在此先感谢

javascript jquery
7个回答
12
投票

您可以在空白处分割并采用数组的第一个和最后一个元素。

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

2
投票

您可以使用仅保留第一组和第三组的正则表达式...

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

1
投票

只需抛出另一个正则表达式答案,我认为这比拆分要少。这适用于任何数量的中间名(包括零)。

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

http://jsfiddle.net/d1L3vqc5/


0
投票

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

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

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(' '));

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

0
投票

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

const displayname = "abc pqr xyz";
const splitDisplayName = displayname.split(" ");
const newDisplayName = splitDisplayName[0] + " " + splitDisplayName[2];
© www.soinside.com 2019 - 2024. All rights reserved.