我试图仅显示名字和姓氏。有时会有一个中间名来。在这种情况下,我需要删除中间名并加入名字和姓氏。名称来自数据库中的变量,例如
var displayname="abc pqr xyz"
我只需要将“ abc xyz”赋给变量。在此先感谢
您可以在空白处分割并采用数组的第一个和最后一个元素。
var displayname = "abc pqr xyz";
var tmp = displayname.split(" ");
displayname = tmp[0] + " " + tmp[tmp.length-1];
您可以使用仅保留第一组和第三组的正则表达式...
var displayname = "abc pqr xyz";
var newname = displayname.replace(/(\w+\s+)(\w+\s+)(\w+)/, '$1$3');
只需抛出另一个正则表达式答案,我认为这比拆分要少。这适用于任何数量的中间名(包括零)。
var name = "abc def ghi jkl";
var re = /^(\w+ ).*?(\w+)$/;
name.search(re);
alert(RegExp.$1 + " " + RegExp.$2);
您可以使用split()
方法并采用第一个和最后一个数组元素
var displayname="abc pqr xyz";
var result = displayname.split(" ");
alert( result[0]+" "+ result[2] );
[如果名字由两个或多个单词组成(例如'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(' '));
var displayname = "abc pqr xyz";
var d = displayname.replace(/\s+\w+\s/g, " ");
console.log(d)
仅获取名字和姓氏,您可以先按.split
字符串旁边的空格,使其变成数组。然后,您将获得名字和姓氏并将其添加在一起。
const displayname = "abc pqr xyz";
const splitDisplayName = displayname.split(" ");
const newDisplayName = splitDisplayName[0] + " " + splitDisplayName[2];