我试图只显示名字和姓氏。有时会有一个中间名来。在这种情况下,我需要删除中间名称并加入名字和姓氏。如何使用JavaScript。 该名称来自数据库中的变量,如
var displayname="abc pqr xyz"
我只需要" abc xyz"变量。 提前致谢
答案 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);
答案 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];