我的要求是获得名字的缩写,

Name = FirstName LastName

Initials =  FL

我可以用这个获得以上结果,
var initials = item.FirstName.charAt(0).toUpperCase() +
                                   item.LastName.charAt(0).toUpperCase();

但是现在我的要求发生了变化,好像名称只包含1个单词或更多,然后是2个单词,因此在以下情况下,如何根据我的要求获取缩写,
FullName =  FU

FirstName MiddleName LastName = FL

1stName 2ndName 3rdName 4thName 5thName = 15

如何从JS中的字符串获取初始信息?

现在我也只有item.Name字符串进来了...

最佳答案

为什么不喜欢正则表达式?

var name = 'Foo Bar 1Name too Long';
var initials = name.match(/\b\w/g) || [];
initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();
console.log(initials);

07-26 01:36