Skip to main content

Boa tarde !!!

Eu tenho uma função que fica armazenada em recursos

function isValidEmail(userInput) {
var regexEmail = /^/a-z0-9.!#$&'*+\/=?^_`{|}~-]+@+a-z0-9.-]+\.\a-z]{2,}(?:\.\a-z]{2,})*$/i;
var email = String(userInput).toLowerCase();
if (regexEmail.test(email)) {
return true;
} else {
return false;
}
}

e eu chamo ela dentro de uma função no builder pq vou usar ela em vários lugares, a chamo assim 

function run(fnc, parNaturalPersonEmail) {
eval(fnc);
return isValidEmail(parNaturalPersonEmail);
}

fnc → recebe a string da função 

parNaturalPersonEmail → é o valor doa parametro 

 

fnc recebe : 

parNaturalPersonEmail recebe : "[email protected]"

 

porem os chamando dessa maneira ele retorna false mas teria que retornar true

 

 

só que se fizer no vscode ele retorna corretamente true 

 

 

e não consigo entender pq ele esta retornando diferente os valores sendo que teria que retornar true

 

 

 

 

 

Olá ​@Bruno Ferreira tudo bem ? Acredito que seja na hora de converter o script alocado nos recursos ele pode ta alterando o valor do regex, pois o script parece está correto.


Bom dia ​@Rafael_Figueiredo !!! eu descobri o problema, quando crio a variável com a função nela eu dou um parse antes e passo o atributo que tem esse conteúdo da função pra ela, porem depois quando ia usar ele dava algum problema alguma conversão que ele deveria dar no parse ele dava problema, ai o que fiz foi ao invés de criar a variável com a função dentro eu mando o objeto todo e faço o parse e chamo a função assim funcionou corretamente.


Comente