Ir para conteúdo

POWERED BY:

Arquivado

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

Biel.

validação - preg_match

Recommended Posts

Bom dia todos. Direto ao ponto. Pessoal Estou tentando validar o EX 3 e EX 4, mas não estou conseguindo. Gostaria de saber como faço para validar.
...
<?php
//EX:1 $regex1 = 'aprendiz';     // <- assim valida
//EX:2 $regex2 = 'apr-endiz';    // <- assim valida
//EX:3 $regex3 = 'apr-end-iz';   // <- assim não valida
//EX:4 $regex4 = 'ap-re-nd-iz';  // <- assim não valida

$string = 'apr-end-iz';  
$regex3 = '/^[a-z]{1,26}(\-)?[a-z]{1,26}$/'; // <- 

if (preg_match($regex3, $string)){
	echo "aceita - Accept";
	}
	
else{
	echo "não aceita - Erro ";
	}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe com carinho pra sua ER: :)

 

 

/^[a-z]{1,26}(\-)?[a-z]{1,26}$/

^ = começo da string

[a-z]{1,26} = uma letra qualquer de uma a 26 vezes

(\-)? = 0 ou 1 traço

[a-z]{1,26} = uma letra qualquer de uma a 26 vezes

 

Ou seja, sua ER só valida "letras-letras", sendo o traço opcional. Por isso só valida o ex1 (sem traços) e o ex2 (só um traço)

 

Se a intenção é aceitar qualquer quantidade de traços, deixe-o dentro do grupo quantificado:

 

/^([a-z-]{1,26}$/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, obrigado por postar. A intenção é colocar dois ou mais traços entre a palavra aprendiz. Traço(s)antes e depois da palavra aprendiz gostaria que não aceitasse.

O exemplo que você postou aceita traço antes e depois da palavra aprendiz

assim aceita  -aprendiz 
assim aceita  aprendiz-
assim aceita  -aprendiz-

Gostaria mesmo é de validar o EX 3 e o EX 4

//EX:1 $regex1 = 'aprendiz'; // <- assim valida
//EX:2 $regex2 = 'apr-endiz'; // <- assim valida
//EX:3 $regex3 = 'apr-end-iz'; // <- assim não valida
//EX:4 $regex4 = 'ap-re-nd-iz'; // <- assim não valida

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.