Translate

sexta-feira, 30 de janeiro de 2015

JavaScript - Abrir Link em Nova Janela

Código para abrir uma página em outra janela através de um botão ou clicando em um link.

<html>
  <head>
    <title>Editor HTML Online</title>
  </head>

  <body hola-ext-player="1">
    <div style="text-align: left;">
      <input name="marcio" type="button" onclick="mostra()"/>
    </div>

          <a href="javascript:abrir('http://www.globo.com');">Clique Aqui</a>
  </body>

  <script language="JavaScript">
  
    function mostra() {
      var vURL = "http://www.uol.com.br";     
            abrir(vURL);    
    }

    function abrir(vURL) {
      
      var width = 700;
      var height = 400;

 
      var top = (screen.height - height) / 2;
      var left = (screen.width - width) / 2;
 
      window.open(vURL,"janela", "width="+width+", height="+height+", top="+top+", left="+left+", scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no");
 
}
  </script>

</html>

quarta-feira, 28 de janeiro de 2015

JavaScript - Validação de Código de Barras

/*Exemplo de uma tela com um campo para inserção de código de barras e funções javaScript para validação do mesmo*/

<html>
 <head>
  <title>Validar um Código de Barras</title>
 </head>
 <body>
  <form name="frmTeste" action="" method="post" onsubmit="return retornaTexto()">   
   <table id="tbl_parcelas"" name="tbl_parcelas"" width="100%" class="TelaNew">
  <td align="left">  
<input id="p_nr_cod_barras" type="text" name="p_nr_cod_barras" value="" size="55" maxlength="54" class="Textbox" style="width:367px;"  onClick="mascaraCodigoBoleto(this, this.value);" onkeypress="return event.keyCode != 13;" onkeyup="mascaraCodigoBoleto(this, this.value);">
  </td>   
  <tr>
<td height="30" id="spanMSGCodigoBarras" align="center" colspan="5"></td>
  </tr>
   </table>
  </form>
 </body>

  <script type="text/javascript" src="/jscripts/prototype.js"></script>
  <script type="text/javascript">  
  
     /****************************************************************************/    
       function mascaraCodigoBoleto(campo, valor){
         //alert("Entrou");
         //if(document.getElementById("p_nr_cod_barras:ckbLeitorOptico").checked == 0) {
           converteBoletoMascara(campo); 
           validarBlocos(valor); 
           //confirmaValidacaoBoleto();
         //} 
         //else{
          // validarBoletoLido(valor);
         //}
       }  
       
       /****************************************************************************/
       function converteBoletoMascara(campo, valor){
         var valorConvertido = "";
     
         if(valor != null && valor != "") {
           valorConvertido = valor;
         }
         else if (campo != null) {
           valorConvertido = campo.value;
         }
     
         valorConvertido=valorConvertido.replace(/\D/g,"");                    
         valorConvertido=valorConvertido.replace(/^(\d{5})(\d)/,"$1.$2"); 
         valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})(\d)/,"$1.$2 $3");
         valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})(\d)/,"$1.$2 $3.$4");
         valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})(\d)/,"$1.$2 $3.$4 $5");
         valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})(\d)/,"$1.$2 $3.$4 $5.$6");
         valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})\.(\d{6})(\d)/,"$1.$2 $3.$4 $5.$6 $7");
         valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})\.(\d{6})\ (\d{1})(\d)/,"$1.$2 $3.$4 $5.$6 $7 $8");
     
         if(valor != null && valor != "" && valorConvertido != null && valorConvertido != "undefined") {
           return valorConvertido;
         } 
         else if (campo != null && valorConvertido != null && valorConvertido != "undefined") {
           campo.value = valorConvertido;
         }
       }          
      
       /****************************************************************************/
       function validarBlocos(campo){
        
        if(campo.length >= 11){
     if (!ValidarBlocoBoleto(campo.substring(0, 11))){
     document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação do 1º campo";
     return;
     } 
          else{
     document.getElementById("spanMSGCodigoBarras").innerHTML = "";
     }
     }

     if(campo.length >= 24){
          if (!ValidarBlocoBoleto(campo.substring(12, 24))){
     document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação do 2º campo";
     return;
     } 
          else {
     document.getElementById("spanMSGCodigoBarras").innerHTML = "";
     }
      }

     if(campo.length >= 37){
     if (!ValidarBlocoBoleto(campo.substring(25, 37))){
     document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação 3º campo";
     return;
     } 
          else{
     document.getElementById("spanMSGCodigoBarras").innerHTML = "";
     } 
       }

        if(campo.length == 43){
          if (campo.substring(40, 43)=="000"){
            campo=campo+"00000000000";
            document.getElementById("p_nr_cod_barras").value=campo;
          }
        }

        if(campo.length == 54) {
          if(!validarModuloOnzeBoleto(campo.replace(/\D/g,""))) {
            document.getElementById("spanMSGCodigoBarras").innerHTML = "Código de barras inválido";
          }
        }
      } 
      
      /****************************************************************************/
      function ValidarBlocoBoleto(bloco) {
     if (validarModuloDezBoleto(bloco.replace(/\D/g,"")) == false) 
     return false;
     else
     return true;
      }
      
      /****************************************************************************/             
      function validarModuloDezBoleto(bloco) {
        var NumeroCaracteres;
        var digito = 0;
        var num = 0;
        var nSoma = 0;
        var resultado = 0;
      // var strIPTE = parseInt(bloco, 10);

        NumeroCaracteres = parseInt((bloco.length - 1), 10);
        digito = parseInt(bloco.charAt(bloco.length - 1), 10);

        if (NumeroCaracteres % 2) {
          for (var i = 0; i < NumeroCaracteres; (i = i + 2)) {
            num = (parseInt(bloco.charAt(i), 10));
            num = (num * 2);
            if (num < 10) {
              nSoma = nSoma + num;
            } else {
            nSoma = (num % 10) + 1 + nSoma;
            }
          }
          for (var x = 1; x < NumeroCaracteres; (x = x + 2)) {
            nSoma = (nSoma + parseInt(bloco.charAt(x), 10));
          }
        } else {
          for (var i = 1; i < NumeroCaracteres; (i = i + 2)) {
            num = (parseInt(bloco.charAt(i), 10));
            num = (num * 2);
            if (num < 10)
              nSoma = (nSoma + num);
            else {
              nSoma = (num % 10) + 1 + nSoma;
            }
          }
          for (var x = 0; x < NumeroCaracteres; (x = x + 2)) {
            nSoma = (nSoma + parseInt(bloco.charAt(x), 10));
          }
        }

        resultado = (10 - ((parseInt(nSoma, 10) % 10)));
        if (resultado == 10) {
          resultado = 0;
        }
        if (resultado == digito) {
          return true;
        } else {
          return false;
        }
      }
      
      /****************************************************************************/
      function confirmaValidacaoBoleto(){
 document.getElementById("p_nr_cod_barras").value=document.getElementById("spanMSGCodigoBarras").innerHTML;
}
      
      /****************************************************************************/
      function validarModuloOnzeBoleto(linhadigitavel) {
        var barra = linhadigitavel;
     
        var i;
        for (i = 0; i < barra.length; i++) 
        {
          barra = barra.replace(" ", "");
          barra = barra.replace(".", "");
          barra = barra.replace("-", "");
        }

        var j = 0;
        var i = 0;
        var r = 0;
        var nDigitoVerificadorGeral = barra.substring(32, 33);

        var strIPTE1 = barra.substring(0, 5);
        var strIPTE2 = barra.substring(5, 10);
        var strIPTE3 = barra.substring(10, 15);
        var strIPTE4 = barra.substring(15, 21);
        var strIPTE5 = barra.substring(21, 26);
        var strIPTE6 = barra.substring(26, 32);
        var strIPTE8 = barra.substring(33, 47);
     
        var strCdBarra = "";
        var nSoma = 0;

        strIPTETemp1 = strIPTE1.substring(0, 4);
        strIPTETemp2 = strIPTE2.substring(0, 4);
        strIPTETemp3 = strIPTE3 + strIPTE4.substring(0, 5);
        strIPTETemp4 = strIPTE5 + strIPTE6.substring(0, 5);
        strIPTETemp5 = strIPTE8 + strIPTE1.substring(4, 5);

        strCdBarra = strIPTETemp1 + strIPTETemp5 + strIPTETemp2 + strIPTETemp3 + strIPTETemp4;

        j = 2;
        for (i = strCdBarra.length - 1; i > -1; (i--)) {
          nSoma = nSoma + (parseInt(strCdBarra.charAt(i)) * j);
          if (++j == 10)
            j = 2;
        }

        r = (nSoma % 11);
        if (r <= 1)
          nDigitoCalculado = 1;
        else
          nDigitoCalculado = (11 - r);

        if (nDigitoVerificadorGeral != nDigitoCalculado) 
        {

          if (Trim(strIPTE8) == "") {

            if(nDigitoVerificadorGeral != "0")
              return true;
            else
              return false;
          }
          else
            return false;
        }
        else 
          return true;
      } 
  
  
  
  
 </script>
</html>