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