//====================================== //Nome: GenJsValidateEmail //Linguagem: JavaScript //Descrição: Essa função recebe um e-mail e o valida respeitando os parâmetros passados // //Autor: Equipe Biblioteca Marlin // //Data: 12/06/2002 // //Parâmetros de entrada: // - pStrFormattedR => E-mail de retorno sem espaços na extremidades // - pStrToValidate => E-mail a ser validado // - pIntTamMax => Tamanho máximo do e-mail // - pIntOptional => Se o e-mail é opcional ou obrigatório // 0 - obrigatório // 1 - opcional // - //Retorno: Código de erro // //Informações adicionais: // + Funções: // - FncJsVerifyIntParameter(pParam, pIntDefValue) // - // + Includes: // - // + Objetos: // - // + Stored Procedures: // - //Historico Alteracao: // - 12/06/2002 Thyago Consort // - //====================================== function GenJsValidateEmail(pStrFormattedR, pStrEmail,pIntTamMax,pIntOptional){ var lStrFormatted; var p = new Array; lStrFormatted = pStrEmail; lStrFormatted = lStrFormatted.replace(/^\s*/, ''); lStrFormatted = lStrFormatted.replace(/\s*$/, ''); pStrFormattedR[0] = pStrEmail; //Verificando parâmetros de entrada e valores default p[0] = pIntTamMax; if (!FncJsVerifyIntParameter(p,0)) { return -11; } pIntTamMax = p[0]; p[0] = pIntOptional; if (!FncJsVerifyIntParameter(p,1)) { return -11; } pIntOptional = p[0]; if (lStrFormatted == "") { if (pIntOptional == 0) { return -240; } return 0; } //Leitura do comando de validação //1 \w+ => 1 ou mais caracteres inclusos em a-z,A-Z,0-9 + {'_'} //2 [\.-]? => apenas 1 caracter incluso em {'.','-'} //3 ([\.-]?\w)* => 0 ou mais grupos de caracteres do tipo 2 seguido do tipo \w //4 (\.\w{2,3})+ => 1 ou mais grupos de 2 ou 3 caracteres do tipo \w no fim da string if (! (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(lStrFormatted)) ) { return -241; } if ((pIntTamMax > 0) && (lStrFormatted.length > pIntTamMax)) { return -242 } pStrFormattedR[0] = lStrFormatted; return 0; }