How do I get the name and initials of the surname in JavaScript?

2

Getting the name and initials of the surname in javascript ex: Manoel de Souza Oliveira .

Return: manoelso

I have this code that takes the first name:

function dicalogin() {       

    var nome = form.no_nome.value;
    var espaco = " ";
    var i = 0;
    var chegou = 0;
    var login ='';

    for (i = 0; i < nome.length; i++) {
        if (nome.charAt(i) == espaco) {
            chegou++;
            if (chegou == 1) {
                //TRANSFORMANDO CARACTERES QUE ESTA EM X EM MINUSCULO
                nome = nome.toLowerCase();
                form.no_login.value = nome.substr(0, i);
                login += nome.substr(0, i);
            }

        }
        if (chegou == 0) {
            nome = nome.toLowerCase();
            form.no_login.value = nome;
        }
    }
}
    
asked by anonymous 20.01.2016 / 20:57

1 answer

8

Here's a solution:

function dicalogin(nomecompleto) {
  nomecompleto = nomecompleto.replace(/\s(de|da|dos|das)\s/g, ' '); // Remove os de,da, dos,das.
  var iniciais = nomecompleto.match(/\b(\w)/gi); // Iniciais de cada parte do nome.
  var nome = nomecompleto.split(' ')[0].toLowerCase(); // Primeiro nome.
  var sobrenomes = iniciais.splice(1, iniciais.length - 1).join('').toLowerCase(); // Iniciais
  alert(nome + sobrenomes);
}
<input type="text" onblur="dicalogin(this.value)" />
    
20.01.2016 / 21:32