// JavaScript Document
//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
    if(mascaraInteiro(cnpj)==false){
        event.returnValue = false;
    }    
    return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
        if(mascaraInteiro(cep)==false){
        event.returnValue = false;
    }    
    return formataCampo(cep, '00.000-000', event);
}

//adiciona mascara de data
function MascaraData(data){
    if(mascaraInteiro(data)==false){
        event.returnValue = false;
    }    
    return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){    
    if(mascaraInteiro(tel)==false){
        event.returnValue = false;
    }    
    return formataCampo(tel, '(00) 0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
    if(mascaraInteiro(cpf)==false){
        event.returnValue = false;
    }    
    return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
    exp = /\(\d{2}\)\ \d{4}\-\d{4}/
    if(!exp.test(tel.value))
        alert('Numero de Telefone Invalido!');
}

//valida CEP
function ValidaCep(cep){
    exp = /\d{2}\.\d{3}\-\d{3}/
    if(!exp.test(cep.value))
        alert('Numero de Cep Invalido!');        
}

//valida data
function ValidaData(data){
    exp = /\d{2}\/\d{2}\/\d{4}/
    if(!exp.test(data.value))
        alert('Data Invalida!');            
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
    var cpf = Objcpf.value;
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" ); 
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
    
    for(i=0;i<9;i++){
        soma1+=eval(cpf.charAt(i)*(vlr-1));
        soma2+=eval(cpf.charAt(i)*vlr);
        vlr--;
    }    
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);
    
    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado)    
		Objcpf.value = "";
    /*    alert('CPF Invalido!');
		Objcpf.select(); */
}

//valida numero inteiro com mascara
function mascaraInteiro(){
    if (event.keyCode < 48 || event.keyCode > 57){
        event.returnValue = false;
        return false;
    }
    return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
    var cnpj = ObjCnpj.value;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;
    
    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" ); 
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
        
    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);    
        dig2 += cnpj.charAt(i)*valida[i];    
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
    
    if(((dig1*10)+dig2) != digito)    
        alert('CNPJ Invalido!');
        
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
    var boleanoMascara; 
    
    var Digitato = evento.keyCode;
    exp = /\-|\.|\/|\(|\)| /g
    campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
    var posicaoCampo = 0;     
    var NovoValorCampo="";
    var TamanhoMascara = campoSoNumeros.length;; 
    
    if (Digitato != 8) { // backspace 
        for(i=0; i<= TamanhoMascara; i++) { 
            boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                || (Mascara.charAt(i) == "/")) 
            boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
            if (boleanoMascara) { 
                NovoValorCampo += Mascara.charAt(i); 
                  TamanhoMascara++;
            }else { 
                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
                posicaoCampo++; 
              }            
          }     
        campo.value = NovoValorCampo;
          return true; 
    }else { 
        return true; 
    }
}




<!-- Paste this code into an external JavaScript file named: noDups.js  -->

/* This script and many more are available free online at
The JavaScript Source :: http://javascript.internet.com
Created by: Vic Phillips :: http://www.vicsjavascripts.org.uk */

/* The Select must have an 'onchange' event
   onchange="f1_NoDuplicateSelect(this,'text');"
   to verify that select texts are different
   or
   onchange="f1_NoDuplicateSelect(this,'value');"
   to verify that select values are different

  All variable, function etc. names are prefixed with 'f1_'
  to minimise conflicts with other JavaScripts */

var f1_TextAry=new Array();
var f1_ValueAry=new Array();

function f1_NoDuplicateSelect(f1_obj,f1_type){
  if (f1_obj.selectedIndex<1){ return; }
  if (!f1_obj.set){
    f1_obj.set=true;
    if (f1_type=='text'){ f1_TextAry[f1_TextAry.length]=f1_obj;  }
    if (f1_type=='value'){ f1_ValueAry[f1_ValueAry.length]=f1_obj;  }
}
  for (f1_0=0;f1_0<f1_TextAry.length;f1_0++){
    for (f1_1=f1_0+1;f1_1<f1_TextAry.length;f1_1++){
      if (f1_TextAry[f1_0].options[f1_TextAry[f1_0].selectedIndex].text==f1_TextAry[f1_1].options[f1_TextAry[f1_1].selectedIndex].text&&f1_type.toLowerCase()=='text'){
        alert('Selecione Opções\nDiferentes');
        f1_TextAry[f1_1].selectedIndex=0;
        return false;
      }
    }
  }
  for (f1_2=0;f1_2<f1_ValueAry.length;f1_2++){
    for (f1_3=f1_2+1;f1_3<f1_ValueAry.length;f1_3++){
      if (f1_ValueAry[f1_2].options[f1_ValueAry[f1_2].selectedIndex].value==f1_ValueAry[f1_3].options[f1_ValueAry[f1_3].selectedIndex].value&&f1_type.toLowerCase()=='value'){
        alert('Selecione Opções\nDiferentes');
        f1_ValueAry[f1_3].selectedIndex=0;
        return false;
      }
    }
  }
}

//Não deixa colar
function Verificar()
{
var ctrl=window.event.ctrlKey;
var tecla=window.event.keyCode;
if (ctrl && tecla==67) {alert("Digite o seu CPF"); event.keyCode=0; event.returnValue=false;}
if (ctrl && tecla==86) {alert("Digite o seu CPF"); event.keyCode=0; event.returnValue=false;}
}



// 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;
}
