SdevLab – Tutorial | JavaScript – Operadores

Fala Galera!

No último post sobre javascript (long long ago) eu falei que continuaria com posts sobre estruturas de repetição, condicionais, etc. Antes disso falarei um pouco sobre os operadores que podemos utilizar nesta linguagem.

boa leitura!

ATUALIZAÇÃO (24/08/2015): Este post foi escrito com base nos tutoriais do W3C para JavaScript ECMA-262 (dei um curso de linguagens web em 2010 mais ou menos e foi deste curso que surgiu a série de posts). O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para a versão ECMAScript 5, logo não é mais válido. O conteúdo está correto, mas não é sobre a versão mais atual!

JavaScript – Operadores

Operadores Aritméticos

Operadores aritméticos são usados para realizar alguma operação entre variáveis e/ou valores.

 Operador Descrição
+ Adição
Subtração
* Multiplicação
/ Divisão
% Resto da divisão
++ Incremento
Decremento

Operadores de Atribuição

Operadores de atribuição são utilizados para dar valores as variáveis.

Operador Descrição
= Atribui um valor à variável
+= Variável recebe seu valor mais alguma coisa
-= Variável recebe seu valor menos alguma coisa
*= Variável recebe seu valor vezes alguma coisa
/= Variável recebe seu valor dividido por alguma coisa
%= Variável recebe o resto da divisão de seu valor por alguma coisa

Operadores de Strings
Podemos somar o valor de 2 strings utilizando o operador + como no exemplo abaixo:


var a = “Hello”;
var b = “World”;
x = a + b;
document.write(x);

Resultaria em “HelloWorld”.

Poderíamos somar um espaço em branco para obter o resultado “Hello World”, como no exemplo abaixo:


var a = “Hello”;
var b = “World”;
x = a +” “+b;
document.write(x);

Operadores de Comparação
Operadores Lógicos são utilizados para verificar igualdade ou diferença em uma sentença.

Operador Descrição
== Igual
=== Exatamente igual (tipo e valor)
!= Diferente
> Maior
< Menor
>= Maior ou igual
<= Menor ou igual

Operadores Lógicos
Os operadores lógicos são utilizados para determinar a lógica entre duas variáveis ou valores.

Operador Descrição
&& E
|| Ou
! Não

Operadores Condicionais
Atribui um valor a uma variável baseado em uma condição.
Exemplo:

cumprimento=(sexo=="M")?"Senhor ":"Senhora ";

O exemplo compara o valor da variável sexo com “M”. Caso seja igual, a variável cumprimento receberá o valor senhor. Caso contrário ela receberá o valor “Senhora”.

Até a próxima!
xD

Fonte: w3schools.com

SdevLab – Exemplo de Código | Validação de CEP em Javascript

Fala Galera!

segue abaixo um código básico que ensina a validar um número de CEP válido.

Validação de CEP em Javascript

Para isto este código usa um trecho de expressão regular que serve para validar os 3 conjuntos numéricos que compõe o cep de uma pessoa.
Segue o código:

<!-- Trecho inserido entre as tags <head></head>-->
<script type="text/javascript">
    <!--
    // Função para retirar os espaços em branco do início e do fim da string.
    function Trim(strTexto)
        {
            // Substitúi os espaços vazios no inicio e no fim da string por vazio.
            return strTexto.replace(/^\s+|\s+$/g, '');
        }

    // Função para validação de CEP.
    function IsCEP(strCEP, blnVazio)
        {
            // Caso o CEP não esteja nesse formato ele é inválido!
            var objER = /^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/;

            strCEP = Trim(strCEP)
            if(strCEP.length > 0)
                {
                    if(objER.test(strCEP))
                        return true;
                    else
                        return false;
                }
            else
                return blnVazio;
        }
    //-->
</script>

<!-- Essa função pode ser chamada na saída do campo CEP, no evento onBlur do textbox
     ou então no submit da página, no evento onSubmit do formulário.
 -->

A função retorna true caso o formato do cep esteja válido ou false caso não esteja. Veja que a função só testa o formato, isto não garante que o cep seja um cep real!!!
Retirada de codigofonte.uol.com.br/codigo

att
sanoj
😉

SdevLab – Exemplo de Código | Algoritmo do CPF em PHP

Eae galera!

Existe um algoritmo pronto e funcionando, feito nas regras do Ministério da Fazenda para se calcular o CPF de uma pessoa. Este algoritmo verifica se o CPF indicado é ou não um CPF válido.

Algoritmo do CPF em PHP

Quando eu pesquisei este algoritmo, confesso que não botei muita fé e fiz o teste de mesa pra ver se funcionava mesmo, e como vocês podem ver, a qualidade do algoritmo é comprovada!

Segue abaixo um CTRL+V de um artigo muito bom que eu achei no iMasters explicando direitinho o funcionamento do cálculo do CPF:

Conhecendo o cálculo do algoritmo do CPF

O CPF é composto por onze algarismos, onde os dois últimos são chamados de dígitos verificadores, ou seja, os dois últimos dígitos são criados a partir dos nove primeiros. O cálculo é feito em duas etapas utilizando o módulo de divisão 11.

Para exemplificar melhor, iremos calcular os dígitos verificadores de um CPF imaginário, por exemplo, 222.333.666-XX.

Fazendo o cálculo do primeiro dígito verificador

O primeiro dígito é calculado com a distribuição dos dígitos colocando-se os valores 10, 9, 8, 7, 6, 5, 4, 3, 2 conforme a representação abaixo:

Números do CPF 2 2 2 3 3 3 6 6 6
Valores definidos
para o calculo
10 9 8 7 6 5 4 3 2

Na seqüência multiplicaremos os valores de cada coluna, confira:

Números do CPF 2 2 2 3 3 3 6 6 6
Valores definidos
para o calculo
10 9 8 7 6 5 4 3 2
Total 20 18 16 21 18 15 24 18 12

Em seguida efetuaremos o somatório dos resultados (20+18+…+18+12), o resultado obtido (162) será divido por 11. Considere como quociente apenas o valor inteiro, o resto da divisão será responsável pelo cálculo do primeiro dígito verificador.

Vamos acompanhar: 162 dividido por 11 obtemos 14 de quociente e 8 de resto da divisão. Caso o resto da divisão seja menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso contrário subtrai-se o valor obtido de 11, que é nosso caso, sendo assim nosso dígito verificador é 11-8, ou seja, 3 (três), já temos parte do CPF, confira: 222.333.666-3X.

Fazendo o cálculo do segundo dígito verificador

Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante à anterior, só que desta vez usaremos na segunda linha os valores 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, já que estamos incorporando mais um algarismo para esse cálculo. Veja:

Números do CPF 2 2 2 3 3 3 6 6 6 3
Valores definidos
para o calculo
11 10 9 8 7 6 5 4 3 2

Na próxima etapa faremos como na situação do cálculo do primeiro dígito verificador. Multiplicaremos os valores de cada coluna e efetuaremos o somatório dos resultados obtidos: 22+20+18+24+21+18+30+24+18+4=201.

Números do CPF 2 2 2 3 3 3 6 6 6 3
Valores definidos
para o calculo
11 10 9 8 7 6 5 4 3 2
Total 22 20 18 24 21 18 30 24 18 6

Agora pegamos esse valor e dividimos por 11. Considere novamente apenas o valor inteiro do quociente, e com o resto da divisão, no nosso caso 3, usaremos para o cálculo do segundo dígito verificador, assim como na primeira parte.

Caso o valor do resto da divisão seja menor que 2, esse valor passa automaticamente a ser zero, que é o nosso caso, caso contrário é necessário subtrair o valor obtido de 11 para se obter o dígito verificador.

Neste caso chegamos ao final dos cálculos e descobrimos que os dígitos verificadores do nosso CPF hipotético são os números 3 e 8, portanto o CPF ficaria assim: 222.333.666-38.

Exemplo pratico da validação do CPF

Agora que já conhecemos como funciona o algoritmo do CPF, vamos partir para a programação do nosso código.

O nosso código é composto por uma função que vai retornar um valor true ou false para que o formulário seja enviado ou não. Abaixo do código tem uma descrição para um melhor acompanhamento e no fim da matéria um link para o exemplo desenvolvido aqui.

1 <script language="Javascript">
 2  function validaCPF() {
 3 cpf = document.validacao.cpfID.value;
 4 erro = new String;
 5 if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";
 6 var nonNumbers = /\D/;
 7 if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
 8 if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333"                  || cpf == "44444444444" || cpf == "55555555555"                  || cpf == "66666666666" || cpf == "77777777777"                  || cpf == "88888888888" || cpf == "99999999999"){
 9 erro += "Numero de CPF invalido!"
 10 }
 11 var a = [];
 12 var b = new Number;
 13 var c = 11;
 14 for (i=0; i<11; i++){
 15 a[i]                  = cpf.charAt(i);
 16 if (i < 9) b += (a[i] * --c);
 17 }
 18 if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
 19 b = 0;
 20 c = 11;
 21 for (y=0; y<10; y++) b += (a[y] * c--);
 22 if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
 23 if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10)                  != a[10])){
 24 erro                  +="Digito verificador com problema!";
 25 }
 26 if (erro.length > 0){
 27 alert(erro);
 28 return false;
 29 }
 30 return true;
 31 }
 32 </script>

Linha 3 – Declaração da variável cpf responsável por recuperar o valor da text box que tem o numero do CPF.

Linha 4 – Declaração da variável erro como nova String responsável por salvar os erros que aconteçam na validação.

Linha 5 – Verificação se o tamanho da variável cpf é menor que 11 caracteres. Se retornar true, a variável erro é acrescida de um texto referente ao erro.

Linha 6 – Declaração da variável nonNumbers responsável por conter o valor para a checagem utilizando Regular Expression.

Linha 7 – Verificação se a variável CPF contém caracteres que não são números. Se retornar true, a variável erro é acrescida de um texto referente ao erro.

Linha 8 – Verificação se a variável CPFé igual a 11 caracteres repetidos que vão de 0 a 9. Se retornar true, a variável erro é acrescida de um texto referente ao erro.

Linha 11 – Declaração da variável a como uma matriz usando literal notation.

Linha 12 – Declaração da variável b como novo número.

Linha 13 – Declaração da variável c como o valor igual a 11.

Linha 14 – Loop que vai ser executado 11 vezes.

Linha 15 – A matriz a indexada do valor da variável do loop recebe o caractere da variável CPF indexado do valor da variável do loop.

Linha 16 – Verificação se o valor de i é menor que 9. Se retornar true a variável b, é acrescida do valor da matriz a indexada do valor da variável do loop multiplicada pelo valor decrescido da variável c.

Linha 18 – Verificação se a variável x (que tem o valor do resto da divisão de b por 11) é menor que 2. Se retornar true, a matriz a indexada de 9 recebe o valor de 0. Se retornar false a matriz a indexada de 9 recebe o valor de 11 menos o valor de x.

Linha 19 e 20 – As variáveis b e c são reiniciadas.

Linha 21 – Loop que vai ser executado 10 vezes. A variável b é acrescida do valor da matriz a indexada do valor da variável do loop multiplicada pelo valor da variável c decrescido.

Linha 22 – Verificação se a variável x (que tem o valor do resto da divisão de b por 11) é menor que 2. Se retornar true a matriz a indexada de 10 recebe o valor de 0. Se retornar false a matriz a indexada de 10 recebe o valor de 11 menos o valor de x.

Linha 23 – Verificação se a variável cpf indexada de 9 é diferente da matriz a indexada de 9 e se a variável CPF indexada de 10 é diferente da matriz a indexada de 10. Se retornar true a variável erro é acrescida de um texto referente ao erro.

Linha 26 – Verificação se o tamanho da variável erro é maior que 0, se retornar true uma caixa de alerta é mostrada ao usuário com o(s) erro(s) da validação. O formulário retorna falso e não é enviado.

Linha 30 – A função retorna true, com isso o formulário é enviado com sucesso.

Como a função validaCPF pronta vamos partir para a parte HTML para criar o formulário que suportara o caixa de texto para digitar o numero do CPF. O evento onSubmit do formulário é usado para retornar um valor para verificar se o mesmo vai ser enviado ou não.

Exemplo:


<form action="validaCPF.htm"                  name="validacao" onSubmit="return validaCPF()">
<input                  type="text" name="cpfID" id="cpfID"                  maxlength="11" value="">
<input                  name="Submit" type="submit" value="enviar">
</form>
Digite o numero do CPF sem utilizar os caracteres                  "." ou "-".

Seguindo os passos deste tutorial, você vai conseguir fazer um código validador de cpf sem problemas! Créditos à galera do iMasters, que fez o artigo que eu copiei e pode ser lido na íntegra (aqui no blog, hehehe) ou no próprio site deles, que é >> http://imasters.com.br/artigo/2410/javascript/algoritmo_do_cpf/

Att,
sanoj
😉

SdevLab – Exemplo de Código | Como fazer Upload de arquivos para o servidor em PHP

Fala Galera!

Este tutorial é mais uma cópia de um código que eu achei na net e dei uma modificada simbólica pra me atender em um projeto.

Como fazer Upload de arquivos para o servidor em PHP

O código abaixo serve simplesmente para pegar um arquivo selecionado pelo usuário e guardar este arquivo em uma pasta do servidor. No código completo (que está neste link > http://www.w3schools.com/PHP/php_file_upload.asp) existe ainda a opção de escolher os tipos de arquivo que o usuário pode enviar, mas eu removi do meu exemplo porque não precisava disto.

Para o exemplo funcionar, crie uma página com este formulário:


<html>
<body>

<form action="upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

Note que para o enctype deste exemplo escolhemos o valor multipart/form-data que habilita o formulário a receber dados binários, como o conteúdo dos arquivos que queremos fazer upload.
Outra peculiaridade deste exemplo é o tipo do input que escolhemos, que é o file. Este tipo de input significa que o formulário deve processá-lo como arquivo.
Para processar os dados, crie uma página chamada upload.php e cole este código nela:


<?php
if ($_FILES["file"]["size"] < 20000)
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>

Para enviarmos o conteúdo do input para o servidor, utilizamos a global $_SERVER, que tem os seguintes parâmetros:

  • $_FILES[“file”][“name”] – nome do arquivo enviado
  • $_FILES[“file”][“type”] – tipo do arquivo
  • $_FILES[“file”][“size”] – tamanho do arquivo em bytes
  • $_FILES[“file”][“tmp_name”] – nome da cópia temporária armazenada no servidor
  • $_FILES[“file”][“error”] – código do erro resultante do upload

Neste exemplo foi utilizado ainda um passo para armazenar uma cópia do arquivo para uma pasta chamada upload, e este passo está nesta linha:

move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);

Se você seguiu este tutorial até este ponto e não teve nenhuma dificuldade agora você tem um sistema de upload de arquivos!

att
sanoj
😉

SdevLab – Passo a Passo | Como transferir seu site Joomla! local para a internet

Eae galera!

Este post é um passo a passo muito útil para quem desenvolveu um site em Joomla! em um servidor local, e não gostaria de repetir o procedimento no servidor final (ou seja, aquele que o usuário vai acessar). Existe uma maneira de exportar seu site local para a internet, e a veremos agora!

Como transferir seu site Joomla! local para a internet

Muitas pessoas preferem desenvolver um site primeiro em um servidor local para depois enviar o mesmo para a internet. Este tutorial ensina a aproveitar o trabalho de desenvolvimento local no nosso produto final, que é o site rodando na web.

  1. Instale o joomla no seu servidor de hospedagem normalmente;
  2. Envie todos os arquivos que você adicionou ao seu site local para seu servidor na internet. Normalmente estes arquivos São imagens ou documentos, pois a maioria das coisas o joomla guarda em um BD (este envio pode ser via FTP ou componentes, como por exemplo o NinjaExplorer);
  3. Se você instalou algum componente adicional (que não está no pacote de instalação) você terá de instalar novamente, ou então enviar os arquivos do componente para o servidor de hospedagem também, pois o backup do banco de dados que vamos voltar (próximo passo deste tutorial) só traz os dados de banco;
  4. No seu servidor local, clique abra o phpmyadmin e selecione seu banco
  5. Clique no botão exportar como na imagem abaixo:
  6. Salve o arquivo (PS: eu nunca alterei nenhuma configuração, no máximo colocava um nome diferente para o arquivo final da exportação e mandava usar a compressão gzip, mas se quiser pode deixar tudo padrão que funciona)
  7. Abra agora o phpmyadmin do seu servidor de hospedagem e selecione seu banco (o que você criou na instalação do joomla). Selecione todas as tabelas e clique em eliminar, como na imagem abaixo:
  8. Neste ponto, você vai ter o seu banco, porém despovoado e sem tabelas, falta então o processo de repovoar, para isto, clique (com o seu banco ainda selecionado) no menu importar, clique no botão procurar, e selecione o arquivo que você exportou no passo 6.
  9. Pronto, agora você já tem seu site com todos os arquivos necessários e banco atualizado, compensa dar uma conferida (porque como eu já disse neste tutorial, alguns componentes não funcionam direito fazendo esta passagem) mas eu mesmo nunca tive problemas com este procedimento!

Qualquer dúvida, poste um comentário!

att
sanoj
😉