Skip to main content

Queria colocar validação de nome completo (apenas duas ou mais palavras, independe de maiúsculas ou minusculas) no me bot mas não conheço muito de regex (leia-se nada), usei uma ferramenta que conver inglês em regex e o resultado foi \w+\s\w+ , mas quando testo sempre dá inválido.



Alguém tem alguma sugestão de como eu posso fazer essa validação de duas palavras?

Boa tarde @Pedro_Gabriel_Cruz_L, você pode tentar usar esses dois scripts aqui:



1- É pra limpar o que o usuário escreve



const run = (name) => {

var regex = /=^\u1F600-\u1F6FF\s]|me\s(chamo|xamo)|(meu\snome\seeéè])|(^]eéè] )/gi;



if(regex.test(name)){

name = name.replace(regex, '').replace(" ", '')

}



return name.substring(0,80);

}



2- Recebe como input o resultado do último script e retorna se o nome é completo ou não



function run(input) {



if (input.split(" ").length > 1) {

return "nome completo"

}



return "nome incompleto";

}



Se quiser pode juntar eles também e fazer a validação dentro de um script apenas


Nossa, estava precisando fazer isso!



Obrigado!


Fiz uma pequena melhoria nesse script, vou compartilhar com vocês:


Da forma que está, nomes completos como:


👉 "Marcos " - Perceba que tem um espaço depois do nome


👉 “Marcos R” - Só tem um caractere depois do espaço



Todos esses retornariam como “nome completo”


Mas se trocar o segundo script por esse:



function run(input,name) {      



if (input.split(" ").length > 1) {

var contadorNome = name.split(" ")m1]

var cont = contadorNome.length

if (cont == 1){

return "nome incompleto"

}

if (cont > 1){

return "nome completo"

}





}



return "nome incompleto";

}



variável “input” = retorno do primeiro script


variável “name” = variável que guardou o nome do usuário



"Marcos " | nome incompleto


“Marcos R” | nome incompleto


“Marcos Rodrigues” | nome completo


Comente