Guest User

Validade

a guest
Nov 28th, 2012
176
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. try{
  2. $(function() {
  3.    
  4.     $('.validate p span').hide();
  5.     /* Required message */
  6.     var requiredMsg = "Campo Requerido!";
  7.     /* E-mail message */
  8.     var mailMsg = "O e-mail informado é inválido!";
  9.     /* CPF message */
  10.     var cpfMsg = "CPF informado é inválido!";
  11.     /* cnpj message */
  12.     var cnpjMsg = "CNPJ informado é inválido!";
  13.     /* Data message */
  14.     var dataMsg = "Data informada é inválida!";    
  15.     /* Numeric message */
  16.     var numericMsg = "O valor deve ser númerico!";
  17.     /* minlength message */
  18.     var minMsg = "Informe ao menos X caracters!";
  19.     /* maxlength message */
  20.     var maxMsg = "A quantidade máxima é de X caracters!";
  21.     /* Password message */
  22.     var passwordMsg = "Senhas não conferem!";
  23.     /* Telefone message */
  24.     var foneMsg = "O telefone informado é inválido!";    
  25.    
  26.    
  27.     /* mascaras */
  28.     $('head').append('<script src="js/jquery.mask.js" type="text/javascript"></script>');
  29.     /* mascara data */
  30.     $('.data').mask('99/99/9999');
  31.     /* mascara cpf */
  32.     $('.cpf').mask('999.999.999-99');
  33.     /* mascara cnpj */
  34.     $('.cnpj').mask('99.999.999/9999-99');
  35.     /* mascara placa */
  36.     $('.placa').mask('aaa-9999');
  37.     /* mascara telefone */
  38.     $('.fone').mask('(99)9999-9999');
  39.     /* validate style - comentar alinha abaixo para omitir o style */
  40.    
  41.     //$('head').append('<link href="css/validate.css" type="text/css" media="screen" rel="stylesheet" />');
  42.     /* button style - comentar alinha abaixo para omitir o style do button */
  43.     $('head').append('<link href="css/button.css" type="text/css" media="screen" rel="stylesheet" />');
  44.     /* botao reset - limpa forms*/
  45.     $('.reset').live('click',function(){
  46.         $('form').attr('onsubmit','return false');
  47.         $('form').find('*').val('');
  48.         $('form').find('*').removeClass('invalid').removeClass('valid');
  49.         $('form').find('span').fadeOut(10);
  50.         return false;
  51.     });
  52.     /* Aplicando Placeholder com texto do SPAN */
  53.     $(this).find('.required').each(function(){
  54.         $(this).attr('placeholder',$(this).parent().find('span').html())
  55.     });
  56.    
  57.     $('.sendsubmit').live('click',function(){
  58.         $('body').find('form.validate').submit();
  59.     })
  60.     $('.submit').live('click',function(e){
  61.         e.preventDefault();
  62.    
  63.         $('body').find('form.validate').each(function() {
  64.         var valid = true;
  65.        
  66.         $(this).find('.required').each(function(i){
  67.             /* required */
  68.             if ( $(this).hasClass('required') && $.trim( $(this).val() ) == ""){
  69.                 $(this).removeClass('valid').addClass('invalid');
  70.                 $(this).focus();
  71.                 $(this).parent().find('span').html(requiredMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  72.                 valid = false;
  73.                 return false;
  74.             }
  75.             else
  76.             {
  77.                 $(this).removeClass('invalid').addClass('valid');
  78.                 $(this).parent().find('span').fadeOut(500);
  79.             }
  80.        
  81.             /* minlength value */
  82.             if ( $(this).attr('minlength') && $(this).hasClass('required') ){
  83.                 if($.trim($(this).val()).length < $(this).attr('minlength') ){
  84.                     $(this).removeClass('valid').addClass('invalid');
  85.                     $(this).select();
  86.                     $(this).parent().find('span').html(minMsg.replace(/X/g,$(this).attr('minlength'))).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  87.                     valid = false;
  88.                     return false;
  89.                 }
  90.                 else{
  91.                     $(this).parent().find('span').fadeOut(500);
  92.                     $(this).removeClass('invalid').addClass('valid');
  93.                 }
  94.             }
  95.            
  96.             /* numeric value */
  97.             if ( $(this).hasClass('required') && $(this).hasClass('numeric') ){
  98.                 var nan = new RegExp(/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/);
  99.                 if (!nan.test($.trim( $(this).val() ))){
  100.                     $(this).removeClass('valid').addClass('invalid');
  101.                     $(this).parent().find('span').html(numericMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  102.                     $(this).select();
  103.                     valid = false;
  104.                     return false;
  105.                 }
  106.                 else{
  107.                     $(this).parent().find('span').fadeOut(500);
  108.                     $(this).removeClass('invalid').addClass('valid');
  109.                 }
  110.             }
  111.        
  112.             /* mail */
  113.             if ( $(this).hasClass('email') ){
  114.                 var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
  115.                 if (!er.test($.trim( $(this).val() ))){
  116.                     $(this).removeClass('valid').addClass('invalid');
  117.                     $(this).select();
  118.                     $(this).parent().find('span').html(mailMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  119.                     valid = false;
  120.                     return false;
  121.                 }
  122.                 else{
  123.                     $(this).removeClass('invalid').addClass('valid');
  124.                     $(this).parent().find('span').fadeOut(500);
  125.                 }
  126.             }
  127.            
  128.             /* data */
  129.             if ( $(this).hasClass('data') ){
  130.                
  131.                 var sdata = $(this).val();
  132.                 if(sdata.length!=10)
  133.                 {
  134.                     $(this).removeClass('valid').addClass('invalid');
  135.                     $(this).select();
  136.                     $(this).parent().find('span').html(dataMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  137.                     valid = false;
  138.                     return false;  
  139.                 }
  140.                 var data        = sdata;
  141.                 var dia         = data.substr(0,2);
  142.                 var barra1      = data.substr(2,1);
  143.                 var mes         = data.substr(3,2);
  144.                 var barra2      = data.substr(5,1);
  145.                 var ano         = data.substr(6,4);
  146.                 if(data.length!=10||barra1!="/"||barra2!="/"||isNaN(dia)||isNaN(mes)||isNaN(ano)||dia>31||mes>12)
  147.                 {
  148.                     $(this).removeClass('valid').addClass('invalid');
  149.                     $(this).select();
  150.                     $(this).parent().find('span').html(dataMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  151.                     valid = false;
  152.                     return false;            
  153.                 }
  154.                 if((mes==4||mes==6||mes==9||mes==11) && dia==31){
  155.                     $(this).removeClass('valid').addClass('invalid');
  156.                     $(this).select();
  157.                     $(this).parent().find('span').html(dataMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  158.                     valid = false;
  159.                     return false;
  160.                 }
  161.                 if(mes==2 && (dia>29||(dia==29 && ano%4!=0))){
  162.                     $(this).removeClass('valid').addClass('invalid');
  163.                     $(this).select();
  164.                     $(this).parent().find('span').html(dataMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  165.                     valid = false;
  166.                     return false;
  167.                 }
  168.                 if(ano < 1900)
  169.                 {
  170.                     $(this).removeClass('valid').addClass('invalid');
  171.                     $(this).select();
  172.                     $(this).parent().find('span').html(dataMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  173.                     valid = false;
  174.                     return false;
  175.                 }                
  176.                 else{
  177.                     $(this).removeClass('invalid').addClass('valid');
  178.                     $(this).parent().find('span').fadeOut(500);
  179.                 }
  180.             }
  181.            
  182.             /* cpf */
  183.             if ( $(this).hasClass('cpf') ){
  184.                 var cpf = $(this).val().replace('.','');
  185.                 cpf = cpf.replace('.','');
  186.                 cpf = cpf.replace('-','');
  187.                 while(cpf.length < 11) cpf = "0"+ cpf;
  188.                 var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
  189.                 var a = [];
  190.                 var b = new Number;
  191.                 var c = 11;
  192.                 for (i=0; i<11; i++){
  193.                     a[i] = cpf.charAt(i);
  194.                     if (i < 9) b += (a[i] * --c);
  195.                 }
  196.                 if ((x = b % 11) < 2) {
  197.                     a[9] = 0
  198.                 } else {
  199.                     a[9] = 11-x
  200.                 }
  201.                 b = 0;
  202.                 c = 11;
  203.                 for (y=0; y<10; y++) b += (a[y] * c--);
  204.                 if ((x = b % 11) < 2) {
  205.                     a[10] = 0;
  206.                 } else {
  207.                     a[10] = 11-x;
  208.                 }
  209.                 if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg))
  210.                 {
  211.                     $(this).removeClass('valid').addClass('invalid');
  212.                     $(this).select();
  213.                     $(this).parent().find('span').html(cpfMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  214.                     valid = false;
  215.                     return false;
  216.                 }
  217.                 else{
  218.                     $(this).removeClass('invalid').addClass('valid');
  219.                     $(this).parent().find('span').fadeOut(500);
  220.                 }
  221.             }
  222.            
  223.             /*valida cnpj*/
  224.             if($(this).hasClass('cnpj'))
  225.             {
  226.                 var cnpj = $(this).val()
  227.                 cnpj = cnpj.replace('.','');
  228.                 cnpj = cnpj.replace('.','');
  229.                 cnpj = cnpj.replace('/','');
  230.                 cnpj = cnpj.replace('-','');
  231.                 var a = new Array();
  232.                 var b = new Number;
  233.                 var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
  234.                 for (i=0; i<12; i++){
  235.                     a[i] = cnpj.charAt(i);
  236.                     b += a[i] * c[i+1];
  237.                 }
  238.                 if ((x = b % 11) < 2) {
  239.                     a[12] = 0
  240.                 } else {
  241.                     a[12] = 11-x
  242.                 }
  243.                 b = 0;
  244.                 for (y=0; y<13; y++) {
  245.                     b += (a[y] * c[y]);
  246.                 }
  247.                 if ((x = b % 11) < 2) {
  248.                     a[13] = 0;
  249.                 } else {
  250.                     a[13] = 11-x;
  251.                 }
  252.                 if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])){
  253.                    
  254.                     $(this).removeClass('valid').addClass('invalid');
  255.                     $(this).select();
  256.                     $(this).parent().find('span').html(cnpjMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);                    
  257.                     valid = false;
  258.                     return false;
  259.                 }
  260.                 else
  261.                 {
  262.                     $(this).removeClass('invalid').addClass('valid');
  263.                     $(this).parent().find('span').fadeOut(500);
  264.                 }
  265.             }
  266.        
  267.             /* maxlength value */
  268.             if ( $(this).attr('maxlength')  && $(this).hasClass('required') ){
  269.                 if($.trim($(this).val()).length > $(this).attr('maxlength') ){
  270.                     $(this).removeClass('valid').addClass('invalid');
  271.                     $(this).select();
  272.                     $(this).parent().find('span').html(maxMsg.replace(/X/g,$(this).attr('maxlength'))).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);          
  273.                     valid = false;
  274.                     return false;
  275.                 }
  276.                 else{
  277.                     $(this).parent().find('span').html('').fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  278.                     $(this).removeClass('invalid').addClass('valid');
  279.                 }
  280.             }  
  281.    
  282.             /* password */
  283.             if ( $(this).hasClass('password') && $(this).parent().parent().find('.password').hasClass('password')){
  284.                
  285.                 if ($.trim( $(this).val() ) != $.trim( $(this).parent().parent().find('.password').val() )){
  286.                     $(this).parent().find('.password').removeClass('valid').addClass('invalid');
  287.                     $(this).parent().find('.password').focus();
  288.                     $(this).parent().find('span').html(passwordMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  289.                     valid = false;
  290.                     return false;
  291.                 }
  292.                 else{
  293.                     $(this).parent().find('span').html('').fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
  294.                     $(this).nextAll('.password').removeClass('invalid').addClass('valid');
  295.                     $(this).parent().find('.password').removeClass('invalid').addClass('valid');
  296.                     $(this).parent().parent().find('.password').removeClass('invalid').addClass('valid');
  297.                     $(this).parent().find('span').fadeOut(500);
  298.                 }
  299.             }
  300.  
  301.         })
  302.         return valid;
  303.     })
  304.     })
  305. })
  306. }catch(err){alert("error in "+err.description);}
RAW Paste Data