Ir para conteúdo

POWERED BY:

Arquivado

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

_vina

[RESOLVIDO] ER verificar numeros

Recommended Posts

boa tarde, eu estou tentando verificar se o valor digitado foi somente numeros com ER.

mais não estou conseguindo informar a ER como eu faço para mostrar somente numeros?

 

function numeros($n){		if(!ereg('[0-9]',$n)){	echo "errado";	}else{	echo "certo";	}}	$num = "22222";	echo numeros($num);

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim deu certo

if(ereg('[^0-9]',$n)){	echo "errado";	}else{	echo "certo";	}

esta errado assim?

vou testar com o +

Compartilhar este post


Link para o post
Compartilhar em outros sites

[editado]

você fez corretamente aí em cima, mas o preg_match() é mais rápido que o ereg(). ;)

[/editado]

 

Essa função permitirá letras, desde que haja pelo menos um número.

Para permitir somente números, faça isto:

 

if (preg_match("/[^0-9]/i", $campo))
{
	echo "Digite apenas números";
}

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo

opa obrigado.

so não entendi a parte que você falo q ele ia aceitar letras no meio?

 

tipo 22a22?

 

seria isso?

 

vlws

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo

opa obrigado.

so não entendi a parte que você falo q ele ia aceitar letras no meio?

 

tipo 22a22?

 

seria isso?

 

vlws

O código que permitia letras era o primeiro que você postou. No seu segundos post, o scrript estava correto.

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Após ler esse tópico, resolvi adaptar um script que eu tinha em Java Script para PHP. Ele tem a função de verificar se em determinados campos existem somente os caracteres especificados pelo programador.

 

Bom, esse script é apenas um exemplo, não sendo, portanto, a resposta do tópico. Resolvi colocar aqui porque o script permite avaliar qualquer tipo de expressão. Um exemplo seria avaliar se uma string contém apenas os caracteres: "234abc", ou "012345", ou "abcdef", ou quaisquer outras sequências que você especificar.

 

O código já está todo comentado. Quem se interessar, poderá simplesmente copiá-lo e executá-lo em seu browser ou editor PHP.

 

<?php//Criando uma função que irá avaliar $valores;Function verificar_numeros($valores) {//Definindo os caracteres válidos$validos = "0123456789";//Determinando quantos caracteres existem em $valores;$num_caracteres = strlen($valores);//Criando um ciclo para determinar letra por letra de $valores;for ($i=0; $i<$num_caracteres; $i++){	//Determinando a letra do ciclo atual;	$letra = substr($valores,$i,1);	   	if(strstr($validos,$letra)){		//Aqui você poderá criar uma variável controle,		//Indicando se a função retornou números ou não;		//Seja criativo!		echo "Número encontrado na linha: ".$i.", letra: ".$letra."<br>";			}else{		//Aqui você poderá criar uma variável controle,		//Indicando se a função retornou números ou não;		//Seja criativo!		echo "Não há número na linha: ".$i.", letra: ".$letra."<br>";			}}}//Variável que irá conter a expressão que será analisada; podendo ser//uma expressão proveniente de um post, ou de um BD;$expressao = "20 é maior que 10";verificar_numeros($expressao); //Testando a expressão;?>

Agora, com relação às Expressões Regulares, quem quiser saber um pouco mais, tem um ótimo tutorial em português:

http://guia-er.sourceforge.net/index.html

 

Bom, é isso! Fica aí mais um exemplo!

Abraços a todos!

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.