Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

k9studio

Expressões regulares no PHP7

Recommended Posts

Olá,

 

estou usando essa função para vaidar e-mail estava tudo ok, agora no php7

dar erro, alguem sabe me dizer como posso corrigir?

esse é o erro:Uncaught Error: Call to undefined function eregi()

function validarEmail($email) {
    if (!eregi("^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$", $email)) {
            return $this->mensagens(0, 'email', null, null);
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta consultar o manual:

http://php.net/eregi

Aviso Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

 

Se quer validar um e-mail basta usar filter_var.

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://php.net/manual/en/function.eregi.php

Warning

This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

preg_match() (with the i (PCRE_CASELESS) modifier)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função está obsoleta http://php.net/manual/pt_BR/function.eregi.php.

Use preg_match http://php.net/manual/pt_BR/function.preg-match.php

 

Use filter_var como o @Eserra citou. Para fins de conhecimento deixo um exemplo tosco

 

https://ideone.com/6iqsnn

 

Obs. Edite o título aí, seria "Expressões regulares"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcos,

 

Obrigado,

essa funciona bakana, não entendi a string $matches
$re = "/^[a-z0-9_\\.\\-]+@[a-z0-9_\\.\\-]*[a-z0-9_\\-]+\\.[a-z]{2,4}/";
$str = "1231@asdf.com";

if (!preg_match($re, $str, $matches) ):
echo 'false';
else:
echo 'email ok';
endif;

Compartilhar este post


Link para o post
Compartilhar em outros sites

A $matches, no seu caso, é desnecessária. Pois ela retornará os grupos que "casaram" na sua ER. No seu caso, você quer apenas que diga se é válido ou não.

 

Além do mais, para o seu caso, filter_var é mais aconselhado. Conforme já foi comentado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.