Archive for the ‘JavaScript’ category

Format number using Javascript

fevereiro 26th, 2010

   A simple php like function called “number_format” to format a number :) in javascript…

   Is so simple to use it; just call in your code supplying some parameters:

@value is a float number being formated

@dec is a number of decimals point

@decsep is a character to use as a decimal point

@milsep is a character to use as a thousands separator

   Now, here is the code, just copy and past to your .js library.

function number_format(value, dec, decsep, milsep){
   dec=(typeof(dec)=='undefined'?2:dec);
   decsep=(typeof(decsep)=='undefined'?',':decsep);
   milsep=(typeof(milsep)=='undefined'?'.':milsep);
   //
   value=value.toFixed(dec)
   //
   var localValue=value.toString();
   var arr=localValue.split('.');
   if (arr.length>1)
      arr[1]=(decsep+arr[1]);
   var re=/(\d+)(\d{3})/;
   while (re.test(arr[0]))
      arr[0]=arr[0].replace(re, '$1'+milsep+'$2');
   return arr[0]+arr[1];
}

That’s all folks.
Nice javascripting…

Consistência de CNPJ com JavaScript

outubro 16th, 2008

Algoritmo explicativo para consistir números de CNPJ usando JavaScript. Para usá-lo basta copiar a função “cnpj()” para seu código e usar os métodos de formulário HTML.

// Consistência de CNPJ by Daniel R. Antunes
function cnpj(cnpj){
  // Verifica o formato fornecido
  if (!cnpj.match(/^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/)){
    alert('Formato do CNPJ inválido !\n\nUtilize o formato "nn.nnn.nnn/nnnn-nn"');
    return FALSE;
  }
  // Tira os separadores deixando somente os números
  cnpj=cnpj.replace(/[\.\/\-]/g,'');
  // Cada número/posição do CNPJ será multiplicado pelo correspondente/
  // posição na string 'multipliers'
  var multipliers='543298765432';
  // Cálculo do PRIMEIRO dígito
  //
  // As multiplicações do multiplicando pelo multiplicador são armazenadas
  // no inteiro 'sum'
  var sum=0;
  // Os números do CNPJ serão acumulados na string 'str' para cálculo do
  // segundo dígito
  var str='';
  // Acumulo das multiplicações e dos números/posições do CNPJ
  for (n=0;n<12;n++){
    sum+=(parseInt(cnpj.substr(n,1))*parseInt(multipliers.substr(n,1)));
    str+=cnpj.substr(n,1);
  }
  // O primeiro dígito é o resultado do resto da divisão da soma das
  // multiplicações acumuladas por onze. Se este resto for menor que
  // dois, o dígito é fixado em zero
  var dig1=parseInt(sum%11);
  dig1=(dig1<2?0:11-dig1);
  // Cálculo do SEGUNDO dígito
  //
  // Acrescenta-se o primeiro dígito ao número parcial (sem os dígitos
  // fornecidos) do CNPJ,  acumulado na string 'str' durante o cálculo
  // anterior
  str+=String(dig1);
  // Como acrescentou-se o dígito, é necessário acrescentar uma posição
  // aos multiplicadores
  multipliers='6'+multipliers;
  // As multiplicações do multiplicando pelo multiplicador são armazenadas
  // no inteiro 'sum' novamente
  sum=0;
  // Acumulo das multiplicações no inteiro 'sum'
  for (n=0;n<13;n++)
    sum+=(parseInt(str.substr(n,1))*parseInt(multipliers.substr(n,1)));
  // O segundo dígito é o resultado do resto  da divisão da soma das
  // multiplicações acumuladas por onze. Se este resto for menor que
  // dois, o dígito é fixado em zero
  var dig2=parseInt(sum%11);
  dig2=(dig2<2?0:11-dig2);
  // Compara-se com o CNPJ fornecido
  if (cnpj.substr(-2,2)!=(String(dig1)+String(dig2))){
    alert('CNPJ inválido !');
    return FALSE;
  }
  // Tudo certo!
  return TRUE;
}