Como validar e-mail e URL em formulários PHP
Ao longo deste artigo, iremos discutir como validar endereços de e-mail, URLs e outros campos em formulários PHP , para que possamos preenchê-los corretamente.
A validação da entrada do usuário é uma parte essencial do desenvolvimento de um aplicativo da Web confiável e seguro. Endereços de e-mail e URLs são comumente inseridos em formulários e aplicativos da web, bem como em outros tipos de aplicativos. Ao processar essas entradas, é importante que elas sejam formatadas corretamente e sejam válidas antes de serem processadas.
Este tutorial mostrará como validar dados no lado do servidor e no lado do cliente, bem como evitar algumas armadilhas comuns ao trabalhar com esses tipos de entradas.
Validar Nome
Abaixo está um exemplo simples de verificação se o campo nome contém apenas letras, hífens, apóstrofos e espaços em branco e a idade contém apenas números.
Haverá uma mensagem de erro armazenada se o valor do campo nome não for válido:
$firstname = input_validation($_POST["firstname"]); if (!preg_match("/^[a-zA-Z-‘ ]*$/",$firstname)) { $fnameErr = "Only letters and white space allowed"; } age = input_validation($_POST["age"]); if (!preg_match("/^[0-9 ]*$/", $age)) { $ageErr = "Only numbers allowed"; }
Quando preg_match() é chamado, uma string é pesquisada em busca de um padrão e, se o padrão existir, ele retorna true , caso contrário, retorna false .
Validar email
Usar a função filter_var() do PHP é a maneira mais fácil e confiável de verificar se um endereço de e-mail está bem formado ou não.
Se o endereço de e-mail fornecido não for correto, a seguinte mensagem de erro será exibida no código:
$email = input_validation($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; }
Validar URL
Abaixo está um exemplo de código sobre como verificar se a sintaxe do endereço URL é válida (esta expressão regular também permite traços no endereço URL).
Se houver um erro de sintaxe no endereço da URL, armazene uma mensagem de erro informando:
$linkedin = input_validation($_POST["linkedin"]); if (!preg_match("/^(?:(?:https?|ftp):\\/\\/|www.)[-a-z0-9+&@#\\/%?=~_|!:,.;]*[-a-z0-9+&@#\\/%=~_|]/i", $linkedin)) { $linkedInErr = "URL is not valid"; }
Formulário Php Validar e-mail e url
É assim que o script se parece agora: