所以我正在做的是取一个字符串并在所有空格中分割它。我已经使用.split(" ")[0/1/2]
执行了此操作但是如何获取这些单独的字符串并确定长度?我这样做的原因是检查该字符串是否有中间的初始值。给定像John M Smith这样的名字,我可以确定单词是什么,但是如果有人没有输入中间的首字母,那么现在将姓氏放在中间的初始变量中。我该如何做到这一点,还是我解决了这一切?谢谢你的帮助。
答案 0 :(得分:1)
使用包含分隔字符串的数组的length
:
var separateStrings = stringVar.split(' ');
var numOfNames = separateStrings.length;
例如,使用以下代码:
var i = document.getElementById('names'); // assuming an input element of id="names"
i.onkeydown = function(e){
if (e.keyCode == 13){
var stringVar = this.value,
separatedNames = stringVar.split(' '),
numOfNames = separatedNames.length;
alert(numOfNames);
}
};
答案 1 :(得分:1)
检查结果数组的长度以查看是否有中间名:
var result = "John Smith".split(" ");
if(result.length == 2) {
//No middle name
//result[0] == "John"
//result[1] == "Smith"
}
else if(result.length == 3) {
//Has middle name
}
答案 2 :(得分:0)
使用以下内容:
var parts = "John M Smith".split(" ");
var first = parts[0],
middle = (parts[2] && parts[1]) || "",
surname = parts[2] || parts[1];
当中间的初始值和没有的时候,你会得到每个变量的正确值。请注意,这假设始终存在名字和姓氏,但中间的首字母是可选的。