JavaScript单独的字符串然后解密字符数

时间:2012-02-24 21:59:08

标签: javascript string

所以我正在做的是取一个字符串并在所有空格中分割它。我已经使用.split(" ")[0/1/2]执行了此操作但是如何获取这些单独的字符串并确定长度?我这样做的原因是检查该字符串是否有中间的初始值。给定像John M Smith这样的名字,我可以确定单词是什么,但是如果有人没有输入中间的首字母,那么现在将姓氏放在中间的初始变量中。我该如何做到这一点,还是我解决了这一切?谢谢你的帮助。

3 个答案:

答案 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);
    }

};​

JS Fiddle demo

答案 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];

当中间的初始值和没有的时候,你会得到每个变量的正确值。请注意,这假设始终存在名字和姓氏,但中间的首字母是可选的。