如何使用javascript拆分字符串 - 从文本框中分隔名字和姓氏

时间:2011-05-09 11:31:56

标签: javascript string function split

我正在使用以下代码从第一个+中间名中拆分姓氏,并将它们放在三个单独的字段中。一个持有姓氏,一个持有第一个名字,一个持有所有这些,但重新安排为姓氏,名字

function switchName(ele){
        var splitName = ele.value.split(" ");
        var surname = splitName[splitName.length-1]; //The last one
        var firstnames 
        for (var i=0; i < splitName.length-1; i++){
                firstnames += splitName[i] + " "
                }

    document.getElementById("hdnSNFNS").value = surname + ", " + firstnames;
    document.getElementById("hdnEmployeeSurname").value = surname;
    document.getElementById("hdnEmployeeFirst").value = firstnames;

它按原样工作,但我得到了firstnames的输出

  

Stone,undefinedJoss Helen

我已经玩了好几年了,但无法找到正确的解决方案。

2 个答案:

答案 0 :(得分:2)

你错过了第4行的;,你应该将firstnames初始化为空字符串。

var firstnames = "";

现在,循环的第一次迭代将第一个名称连接到未初始化的变量,而undefined来自的位置。通过初始化,您将与“无”连接,它将产生预期的结果。

答案 1 :(得分:1)

function switchName(ele){
    var splitName = ele.value.split(" ");
    var surname = splitName[splitName.length-1]; //The last one
    var firstnames = ""; // <- forgot to initialize to an empty string
    for (var i=0; i < splitName.length-1; i++){
        firstnames += splitName[i] + " "
    }
}