Como validar URLs e endereços de e-mail nos campos de formulário Web
Verdadeiramente validar um endereço de e-mail em um campo de formulário web é uma tarefa surpreendentemente difícil. O padrão para endereços de correio electrónico permite combinações complexas de letras, números e caracteres especiais, alguns dos quais só podem aparecer em determinadas posições. PHP versões 5.2 e incluem um maior filter_var ()
função que leva essa complexidade de distância e faz com que seja mais fácil para filtrar coisas como endereços de e-mail e URLs (entre outras coisas).Validar um endereço de e-mail
o filter_var () função inclui uma série de testes internos para verificar para ver se um endereço de e-mail é válido.
Filtro | Descrição |
---|---|
FILTER_VALIDATE_BOOLEAN | Valida que um valor é um valor booleano. |
FILTER_VALIDATE_INT | Valida que um número é um número inteiro. |
FILTER_VALIDATE_FLOAT | Valida que um número é um número de ponto flutuante. |
FILTER_VALIDATE_IP | Valida um endereço IP. |
FILTER_VALIDATE_EMAIL | Valida um endereço de e-mail. |
FILTER_VALIDATE_URL | Valida um URL. |
Utilizando os filtros é muito fácil. Por exemplo, aqui está o código para validar um endereço de e-mail. Este código pode ser conectado ao form-process.php arquivo acima da seção disposição final:
Se {$ _SESSION [ 'error'] [] = "Invalid endereço de e-mail" -} (filter_var ($ _ POST [ 'email'], FILTER_VALIDATE_EMAIL)!)
Esse código é tudo que você precisa para validar um endereço de e-mail em PHP.
Validar uma URL
Os URLs podem ser validados da mesma maneira. Digamos que você tenha uma variável chamada $ url. O código de validação parece o mesmo- ele só usa um filtro diferente.
Se {$ _SESSION [ 'error'] [] = "URL inválido" -} (filter_var ($ url, FILTER_VALIDATE_URL)!)