Ir para conteúdo

POWERED BY:

Arquivado

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

paulojorge3l

Validar Campo de CPF

Recommended Posts

Salve galera como você estão ... fim de ano tá ai e eu vo tenta faturar algum dimdim com as festa de fim de ano abilitando um formulario de venda de foto no meu site fiz tudo direitinho até enviando uma confirmação para o e-mail tá http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif só estou com um problema quero colocar um campo cpf q seja validado achei um monte de coisa na net e aqui mais me embananei todo bom seguinte quero que quando o cliente clique em efetuar compra antes de passar todo o form para o ScriptSQL que executa a venda eu quero q o CPF seja checado to postando a pagina com os form e os dois aqrquivos q valida o cpf c alguem souber um geito mais facil agradeço valew

 

Pagina com os form

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><%erro = Request.QueryString("erro")if erro = "yes" thenElseIf erro = "no" Then %><script language="JavaScript">alert("Sua compra foi efetuada com Sucesso!")</script><%elseend if%><script language="JavaScript">function verificar(){{if (document.form1.nome.value < 1) {alert("Informe seu nome!");document.form1.nome.focus();return false;}if (document.form1.endereco.value < 1) {alert("Informe seu endereço!");document.form1.endereco.focus();return false;}if (document.form1.CPF.value < 1) {alert("Informe seu CPF!");document.form1.CPF.focus();return false;}}}</script><script language="javascript" src="isEmpty.js"></script><script language="javascript" src="isCPFCNPJ.js"></script><script language=javascript>function formata(src, mask) {  var i = src.value.length;  var saida = mask.substring(0,1);  var texto = mask.substring(i)if (texto.substring(0,1) != saida)  {	src.value += texto.substring(0,1);  }}function VALIDA() {if(isCPFCNPJ(document.form1.CPF.value,1)) {	alert('CPF ok');}else {	alert('CPF Invalido!');}}</script><style type="text/css"><!----></style><link href="estilo.css" rel="stylesheet" type="text/css"></head><body><%Response.expires = 0Response.Buffer=TrueSet conn = Server.CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../cx-preta/nucleo.mdb")regs = 5 'Aqui setamos quantos registros serão listados por páginapag = request.querystring("pagina")if pag = "" Then   pag = 1end ifset rs = createobject("adodb.recordset")set rs.activeconnection = connrs.cursortype = 3 'Definimos o cursor a ser utilizadors.pagesize = regsSQL = "SELECT * FROM fotos_evento WHERE id LIKE '"&Request.QueryString("ID")&"'"rs.open sqlif rs.eof or rs.bof then   response.write "<strong>Por Favor selecione novamente a foto que deseja comprar!<br>Só clique em Sair quando receber o aviso que a compra foi terminada com Sucesso! </strong>"else   rs.absolutepage = pag   contador = 0						   %><table width="700" height="310"  border="0" align="center" cellpadding="0" cellspacing="0">  <tr>	<td width="41%" align="center" valign="top"><div align="left"><img src="../evento/<%=Rs("pasta")%>/img/grd/<%=Rs("foto")%>.jpg" alt="" width="400" height="300" class="Borda"><br>		<br>	  		<br>	</div></td>	<td width="59%" valign="top" bgcolor="#666666"><table width="99%"  border="0" align="center" cellpadding="2" cellspacing="2">		<tr>		  <td><strong>Você está comprando a foto: </strong></td>		</tr>	  </table>		<table width="100%"  border="0" cellspacing="0" cellpadding="0">		  <tr>			<td align="left" valign="top"><form name="form1" method="post" action="compraSQL.asp">				<table width="99%"  border="0" align="center" cellpadding="2" cellspacing="2">				  <tr>					<td width="36%">Código da Foto: </td>					<td width="64%"><input name="idfoto" type="text" class="Formulario" id="idfoto" value="<%=Rs("id")%>" readonly="true"></td>				  </tr>				  <tr>					<td>Tamanho: </td>					<td><select name="tamanho" class="Formulario" id="tamanho">					  <option value="10 x 15 - R$ 2,00">10 x 15 - R$ 2,00</option>					  <option value="15 x 20 - R$ 5,00">15 x 20 - R$ 5,00</option>					  <option value="30 x 30 - R$ 10,00">30 x 30 - R$ 10,00</option>					  </select>					</td>				  </tr>				  <tr>					<td>Pagamento: </td>					<td><select name="pagamento" class="Formulario" id="pagamento">						<option value="Contra Entrega">Contra Entrega</option>					</select></td>				  </tr>				  <tr>					<td>Entrega: </td>					<td><select name="entrega" class="Formulario" id="entrega">						<option value="Delivery">Delivery</option>						<option value="A Retirar">A Retirar</option>										</select></td>				  </tr>				  <tr>					<td colspan="2"><strong>Dados Pessoais :</strong></td>				  </tr>				  <tr>					<td>Nome: </td>					<td><input name="nome" type="text" class="Formulario" id="nome"></td>				  </tr>				  <tr>					<td>CPF: </td>					<td><input name="CPF" type="text" id="CPF" onblur="return VALIDA()></td></tr>	<tr>	  <td> </td>	  <td> </td>	</tr>	<tr>	  <td colspan=" onKeyPress="formata(this,'###.###.###-##')"2"></td>				  </tr>				  <tr>					<td>RG: </td>					<td><input name="rg" type="text" class="Formulario" id="rg"></td>				  </tr>				  <tr>					<td>E-mail: </td>					<td><input name="email" type="text" class="Formulario" id="email"></td>				  </tr>				  <tr>					<td>Telefone: </td>					<td><input name="telefone"  type="text" class="Formulario" id="telefone" ></td>				  </tr>				  <tr>					<td colspan="2"><strong>Endereço de entrega:</strong></td>				  </tr>				  <tr>					<td>Rua: </td>					<td><input name="rua" type="text" class="Formulario" id="rua"></td>				  </tr>				  <tr>					<td>Bairro: </td>					<td><input name="bairro" type="text" class="Formulario" id="bairro"></td>				  </tr>				  <tr>					<td>Número: </td>					<td><input name="numero" type="text" class="Formulario" id="numero"></td>				  </tr>				  <tr>					<td>CEP: </td>					<td><input name="cep" type="text" class="Formulario" id="cep"></td>				  </tr>				  <tr>					<td>Complemento: </td>					<td><input name="complemento" type="text" class="Formulario" id="complemento"></td>				  </tr>				  <tr>					<td> </td>					<td><input name="Submit" type="submit" class="FormularioBotão" value="Finalizar Compra" onblur="return VALIDA()"></td>				  </tr>				</table>			</form></td>		  </tr>	  </table></td>  </tr></table><%				end if				  rs.close				  set rs = nothing				  conn.close				  set conn=nothing				  %></body></html>

os arquivos JS

 

 

isEmpty.js

 

 

function isEmpty(pStrText){

var len = pStrText.length;

var pos;

var vStrnewtext = "";

 

for (pos=0; pos<len; pos++){

if (pStrText.substring(pos, (pos+1)) != " "){

vStrnewtext = vStrnewtext + pStrText.substring(pos, (pos+1));

}

}

 

if (vStrnewtext.length > 0)

return false;

else

return true;

}

 

 

--------------------------------------------------------------------------------------------------------------------

isCPFCNPJ.js

 

function isCPFCNPJ(campo,pType){

if( isEmpty( campo ) ){return false;}

 

var campo_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";

var valido = false;

 

for (i = 0; i < campo.length; i++){

ch = campo.substring(i, i + 1);

if (ch >= "0" && ch <= "9"){

campo_filtrado = campo_filtrado.toString() + ch.toString()

valor_1 = valor_2;

valor_2 = ch;

}

if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);

}

if (!valido) campo_filtrado = "12345678912";

 

if (campo_filtrado.length < 11){

for (i = 1; i <= (11 - campo_filtrado.length); i++){campo_filtrado = "0" + campo_filtrado;}

}

 

if(pType <= 1){

if ( ( campo_filtrado.substring(9,11) == checkCPF( campo_filtrado.substring(0,9) ) ) && ( campo_filtrado.substring(11,12)=="") ){return true;}

}

 

if((pType == 2) || (pType == 0)){

if (campo_filtrado.length >= 14){

if ( campo_filtrado.substring(12,14) == checkCNPJ( campo_filtrado.substring(0,12) ) ){ return true;}

}

}

 

return false;

}

 

function checkCNPJ(vCNPJ){

var mControle = "";

var aTabCNPJ = new Array(5,4,3,2,9,8,7,6,5,4,3,2);

for (i = 1 ; i <= 2 ; i++){

mSoma = 0;

for (j = 0 ; j < vCNPJ.length ; j++)

mSoma = mSoma + (vCNPJ.substring(j,j+1) * aTabCNPJ[j]);

if (i == 2 ) mSoma = mSoma + ( 2 * mDigito );

mDigito = ( mSoma * 10 ) % 11;

if (mDigito == 10 ) mDigito = 0;

mControle1 = mControle ;

mControle = mDigito;

aTabCNPJ = new Array(6,5,4,3,2,9,8,7,6,5,4,3);

}

return( (mControle1 * 10) + mControle );

}

 

function checkCPF(vCPF){

var mControle = ""

var mContIni = 2, mContFim = 10, mDigito = 0;

for (j = 1 ; j <= 2 ; j++){

mSoma = 0;

for (i = mContIni ; i <= mContFim ; i++)

mSoma = mSoma + (vCPF.substring((i-j-1),(i-j)) * (mContFim + 1 + j - i));

if (j == 2 ) mSoma = mSoma + ( 2 * mDigito );

mDigito = ( mSoma * 10 ) % 11;

if (mDigito == 10) mDigito = 0;

mControle1 = mControle;

mControle = mDigito;

mContIni = 3;

mContFim = 11;

}

return( (mControle1 * 10) + mControle );

}

 

 

 

 

 

valew pela atenção de todos

 

Ha gente o mais importante quero q c o CPF for invalido q de um aviso e volte ao formulario ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

está dando algum erro?

 

existem diversas funçoes que fazem esta validação

 

sempre uso esta

 

// Função que verifica se o cpf digitado é válido.function checarcpf (StrCPF){  x = 0;  soma = 0;  dig1 = 0;  dig2 = 0;  texto = "";  StrCPF1="";  len = StrCPF.length;  x = len -1;  for (var i=0; i <= len - 3; i++){	y = StrCPF.substring(i,i+1);	soma = soma + ( y * x);	x = x - 1;	texto = texto + y;  }  dig1 = 11 - (soma % 11);  if (dig1 == 10) dig1=0;  if (dig1 == 11) dig1=0;  StrCPF1 = StrCPF.substring(0,len - 2) + dig1;  x = 11; soma=0;  for (var i=0; i <= len - 2; i++){	 soma = soma + (StrCPF1.substring(i,i+1) * x);	 x = x - 1;  }  dig2= 11 - (soma % 11);  if (dig2 == 10) dig2=0;  if (dig2 == 11) dig2=0;  if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)){	 return true;	 }  return false;}// Função utilizada para verificar se o campo rg está correto (verifica se o que foi digitado// contém apenas números)function Validar(campo) {var valid = "0123456789"var ok = true;var temp;  for (var i=0; i<campo.length; i++) {	temp = "" + campo.substring(i, i+1);	if (valid.indexOf(temp) == "-1"){	  ok = false;	}  }  return ok;}

em Javascript claro

 

mas da para fazer seu proprio algoritmo

 

tem um tutorial no imasters que ensina a fazer a validação de CPF

 

é muito interessante seu conteudo

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.