Ir para conteúdo

POWERED BY:

Arquivado

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

Yuri Karsten

[Resolvido] Como remover caracteres do cnpj?

Recommended Posts

Bom dia,Galera gostaria de saber qual a melhor função do php, para remover os caracteres do cnpj exemplo 00.000.000/0000-00 (./-) para que possa valida, mais que depois possa colocar de novo para inseri no banco?abraço.. :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar o str_replace : Exemplo :

 

$valida_cnpj = str_replace ( '.' , '' , $_POST['cnpj']);$valida_cnpj = str_replace ( '/' , '' , $valida_cnpj );$valida_cnpj = str_replace ( '-' , '' , $valida_cnpj );

ou pode usar também ER (expressão regular) - não acho que haja necessidade pra isso :

 

$valida_cnpj = preg_replace('/[[:punct:]]/', '', $_POST['cnpj']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,Galera gostaria de saber qual a melhor função do php, para remover os caracteres do cnpj exemplo 00.000.000/0000-00 (./-) para que possa valida, mais que depois possa colocar de novo para inseri no banco?abraço.. :rolleyes:

tem uma função pronta pra validação... tenta usa ela!
$cnpj=$_POST['cnpj'];function valCnpj($Cnpj){	$RecebeCNPJ=${"Cnpj"};	$s="";	for ($x=1; $x<=strlen($RecebeCNPJ); $x=$x+1)	{		$ch=substr($RecebeCNPJ,$x-1,1);		if (ord($ch)>=48 && ord($ch)<=57)		{			 $s=$s.$ch;		}	}	$RecebeCNPJ=$s;	if ($RecebeCNPJ=="00000000000000")	{		 $then;		 return FALSE;	}else{		$Numero[1]=intval(substr($RecebeCNPJ,1-1,1));		$Numero[2]=intval(substr($RecebeCNPJ,2-1,1));		$Numero[3]=intval(substr($RecebeCNPJ,3-1,1));		$Numero[4]=intval(substr($RecebeCNPJ,4-1,1));		$Numero[5]=intval(substr($RecebeCNPJ,5-1,1));		$Numero[6]=intval(substr($RecebeCNPJ,6-1,1));		$Numero[7]=intval(substr($RecebeCNPJ,7-1,1));		$Numero[8]=intval(substr($RecebeCNPJ,8-1,1));		$Numero[9]=intval(substr($RecebeCNPJ,9-1,1));		$Numero[10]=intval(substr($RecebeCNPJ,10-1,1));		$Numero[11]=intval(substr($RecebeCNPJ,11-1,1));		$Numero[12]=intval(substr($RecebeCNPJ,12-1,1));		$Numero[13]=intval(substr($RecebeCNPJ,13-1,1));		$Numero[14]=intval(substr($RecebeCNPJ,14-1,1));		$soma=$Numero[1]*5+$Numero[2]*4+$Numero[3]*3+$Numero[4]*2+$Numero[5]*9+$Numero[6]*8+$Numero[7]*7+		$Numero[8]*6+$Numero[9]*5+$Numero[10]*4+$Numero[11]*3+$Numero[12]*2;		$soma=$soma-(11*(intval($soma/11)));		if ($soma==0 || $soma==1)		{			 $resultado1=0;		}else{			$resultado1=11-$soma;		}		if ($resultado1==$Numero[13])		{			$soma=$Numero[1]*6+$Numero[2]*5+$Numero[3]*4+$Numero[4]*3+$Numero[5]*2+$Numero[6]*9+			$Numero[7]*8+$Numero[8]*7+$Numero[9]*6+$Numero[10]*5+$Numero[11]*4+$Numero[12]*3+$Numero[13]*2;			$soma=$soma-(11*(intval($soma/11)));			if ($soma==0 || $soma==1)			{				 $resultado2=0;			}else{				$resultado2=11-$soma;			}			if ($resultado2==$Numero[14])			{				return TRUE;			}else{				return FALSE;			}		}else{			return FALSE;		}	}}$valida= valCNPJ($cnpj);if ($valida == true) {print("CNPJ válido");} else {print("CNPJ inválido");}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo://RETIRA PONTOS E BARRAS DO CNPJ$cnpj = preg_replace( "@[./-]@", "", $cnpj );$cep = preg_replace( "@[-]@", "", $cep );$fone = preg_replace( "@[()-]@", "", $fone );estou usando assim, mais como eu faço para colocar os caracteres que remove de volta para pode inseri os dados no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php	$cnpj = "00000000000000";	echo preg_replace("/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/", "\\1.\\2.\\3/\\4-\\5", $cnpj);?>

Com CEP e telefone é a mesma lógica.

 

Flws...

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php	$cnpj = "00000000000000";	echo preg_replace("/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/", "\\1.\\2.\\3/\\4-\\5", $cnpj);?>
Com CEP e telefone é a mesma lógica.Flws... ;)
Valeu Frenesi..Tah funcionando belezinha, era isso mesmo que queria simples e pratico.abraço http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.