//valida telefone
function validaTelefone(tel, idcampo){
if (tel.value.length > 0){
exp = /\(\d{2}\)\ \d{4}\-\d{4}/
if(!exp.test(tel.value)){
alert('Número de Telefone Inválido!');
document.getElementById(idcampo).value = '';
}
}
}
//valida CEP
function validaCEP(cep, idcampo){
if (cep.value.length > 0){
exp = /\d{2}\.\d{3}\-\d{3}/
if(!exp.test(cep.value)){
alert('Número do CEP Inválido!');
document.getElementById(idcampo).value = '';
}
}
}
Para outros Scripts, consultar: http://forum.imasters.uol.com.br/index.php?/topic/222133-mascara-e-validacao-de-cpfcnpjcepdatatelefone/
quinta-feira, 11 de março de 2010
Validação de CPF
// VALIDACAO DO CPF
function validaCPF(cpf, idcampo){
if (cpf != ''){
if ( cpf == '000.000.000-00' ||
cpf == '111.111.111-11' ||
cpf == '222.222.222-22' ||
cpf == '333.333.333-33' ||
cpf == '444.444.444-44' ||
cpf == '555.555.555-55' ||
cpf == '666.666.666-66' ||
cpf == '777.777.777-77' ||
cpf == '888.888.888-88' ||
cpf == '999.999.999-99'){
alert('CPF Inválido!');
document.getElementById(idcampo).value = '';
}else{
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) {
alert('CPF Inválido!');
document.getElementById(idcampo).value = '';
}
}
}
}
function validaCPF(cpf, idcampo){
if (cpf != ''){
if ( cpf == '000.000.000-00' ||
cpf == '111.111.111-11' ||
cpf == '222.222.222-22' ||
cpf == '333.333.333-33' ||
cpf == '444.444.444-44' ||
cpf == '555.555.555-55' ||
cpf == '666.666.666-66' ||
cpf == '777.777.777-77' ||
cpf == '888.888.888-88' ||
cpf == '999.999.999-99'){
alert('CPF Inválido!');
document.getElementById(idcampo).value = '';
}else{
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) {
alert('CPF Inválido!');
document.getElementById(idcampo).value = '';
}
}
}
}
VALIDACAO DO CNPJ
// VALIDACAO DO CNPJ
function validaCNPJ(cnpj, idcampo){
//var cnpj = ObjCnpj.value;
if (cnpj != ''){
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 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 Inválido!');
document.getElementById(idcampo).value = '';
}
}
}
function validaCNPJ(cnpj, idcampo){
//var cnpj = ObjCnpj.value;
if (cnpj != ''){
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
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 Inválido!');
document.getElementById(idcampo).value = '';
}
}
}
terça-feira, 9 de março de 2010
Trac e SVN
Para instalar o trac no Windows é necessário:
1. Instalar o TortoiseSvn;
2. Instalar bitnami-trac-0.11.6-0-windows-installer-r01.exe
Instalados os softwares, para criar um projeto, é necessário executar os seguintes passos:
1. Deverá ser criado o diretório que conterá o repositório do código. Para tanto deve ser executado o comando
svnadmin create "caminho_do_diretorio". Supondo que a instalação do Trac tenha sido realizada no diretório C:\Trac, esse executável se encontra no caminho : C:\TRAC\subversion\bin
Obs: Para tornar a integração mais fácil com o desenvolvimento do sistema, é aconselhavel salvar o repositório na pasta htdocs do servidor Apache.
2. Para criar o projeto TRAC em si, deve ser digitada, na linha de comando, a seguinte informação:
trac-admin caminho_para_projeto initenv.
Por exemplo, se o TRAC ouver sido instalado na pasta C:\Trac, deve-se entrar na pasta C:\Trac\trac\Scripts e executar o comando, como pode ser visto no exemplo abaixo:
C:\TRAC\trac\Scripts> trac-admin C:\Projetos\Teste initenv
Após execução do comando, serão pedidas mais informações sobre o projeto, como o nome que irá aparecer no website e o caminho para o repositório de arquivos que, obrigatoriamente, deverá corresponder ao caminho do diretório do repositório criado no passo 1.
Obs: Caso ocorram problemas de biblioteca na criação do repositório, é necessário copiar os arquivos da pasta Trac\subversion\bin para a pasta tortoisesvn\bin, que geralmente se enconta no diretório Arquivos de Programas
3. Criado o projeto, deve-se modificar os arquivos svnserve.conf e passwd , que estão localizados na subpasta conf do diretório do repositório (criado no passo 1). O arquivo passwd deve conter o nome de usuário e a senha de acesso ao repositório, já o arquivo svnserve.conf contém as configurações de acesso ao mesmo. Modelos desses arquivos foram anexados ao manual.
4. Por fim, para acessar a página do projeto TRAC digite, em um browser, http://10.56.1.4:8081/trac/nome_do_projeto. Já, para ter acesso aos arquivos do repositório, é preciso realizar o checkout através da ferramenta cliente do tortoise. Para tanto, será necessário digitar um endereço parecido com o exemplo abaixo:
svn://10.56.1.4/ms4w/Apache/htdocs/syspleitos
1. Instalar o TortoiseSvn;
2. Instalar bitnami-trac-0.11.6-0-windows-installer-r01.exe
Instalados os softwares, para criar um projeto, é necessário executar os seguintes passos:
1. Deverá ser criado o diretório que conterá o repositório do código. Para tanto deve ser executado o comando
svnadmin create "caminho_do_diretorio". Supondo que a instalação do Trac tenha sido realizada no diretório C:\Trac, esse executável se encontra no caminho : C:\TRAC\subversion\bin
Obs: Para tornar a integração mais fácil com o desenvolvimento do sistema, é aconselhavel salvar o repositório na pasta htdocs do servidor Apache.
2. Para criar o projeto TRAC em si, deve ser digitada, na linha de comando, a seguinte informação:
trac-admin caminho_para_projeto initenv.
Por exemplo, se o TRAC ouver sido instalado na pasta C:\Trac, deve-se entrar na pasta C:\Trac\trac\Scripts e executar o comando, como pode ser visto no exemplo abaixo:
C:\TRAC\trac\Scripts> trac-admin C:\Projetos\Teste initenv
Após execução do comando, serão pedidas mais informações sobre o projeto, como o nome que irá aparecer no website e o caminho para o repositório de arquivos que, obrigatoriamente, deverá corresponder ao caminho do diretório do repositório criado no passo 1.
Obs: Caso ocorram problemas de biblioteca na criação do repositório, é necessário copiar os arquivos da pasta Trac\subversion\bin para a pasta tortoisesvn\bin, que geralmente se enconta no diretório Arquivos de Programas
3. Criado o projeto, deve-se modificar os arquivos svnserve.conf e passwd , que estão localizados na subpasta conf do diretório do repositório (criado no passo 1). O arquivo passwd deve conter o nome de usuário e a senha de acesso ao repositório, já o arquivo svnserve.conf contém as configurações de acesso ao mesmo. Modelos desses arquivos foram anexados ao manual.
4. Por fim, para acessar a página do projeto TRAC digite, em um browser, http://10.56.1.4:8081/trac/nome_do_projeto. Já, para ter acesso aos arquivos do repositório, é preciso realizar o checkout através da ferramenta cliente do tortoise. Para tanto, será necessário digitar um endereço parecido com o exemplo abaixo:
svn://10.56.1.4/ms4w/Apache/htdocs/syspleitos
segunda-feira, 1 de março de 2010
Utilizando o Método POST em Ajax
var xmlhttp = setXmlHttp(); // Função Personalizada
xmlhttp.open("POST", "http://localhost/post.php", true);
xmlhttp.send("seus_dados=via_post");
var xmlhttp = setXmlHttp(); // Função Personalizada
xmlhttp.open("POST", "http://localhost/post.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // Setando Content-type
xmlhttp.send("seus_dados=via_post");
Função para fechar um popup e enviar dados para outra pagina.
function fechar(){
window.close();
var municipio = document.getEle
var localidade = document.getEle
opener.location
}
Ajax síncrono
Abaixo, segue exemplo de utilização de ajax na modalidade síncrona. Essa forma é putil para evitar conflitos de escalonamento, uma vez que, na forma síncrona, o fluxo da página é interrompido e só retorna após a execução do scripst ajax:
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.open("GET", 'inserir_muninter.php?id_muni='+id_municipio+'&id_inter='+id_natu_inter+'&num_prot='+num_prot, false); //sincrono
xmlhttp.setRequestHeader('Content-type', 'text/xml;charset=utf-8');
xmlhttp.send(null);
if(xmlhttp.responseText == 'erro'){
alert('Dados duplicados!');
}else{
document.getElementById('add_muninter').innerHTML = xmlhttp.responseText;
carregar_muninter_grid(num_prot);
carregar_muninter(num_prot);
}
Nesse caso a opção false em negrito indica que a página inserir_muninter.php será chamada de modo síncrono. Além disso o "echo" executado nela (inserir_muninter.php) será retornado no responseText do objeto xmlhttp. Vale ressaltar que não é necessário perguntar o estado da requisição uma vez que a mesma é executado inteiramente antes do fluxo da página que chama o script continue a execução.
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.open("GET", 'inserir_muninter.php?id_muni=
xmlhttp.setRequestHeader('
xmlhttp.send(null);
if(xmlhttp.responseText == 'erro'){
alert('Dados duplicados!');
}else{
document.getElementById('add_
carregar_muninter_grid(num_
carregar_muninter(num_prot);
}
Nesse caso a opção false em negrito indica que a página inserir_muninter.php será chamada de modo síncrono. Além disso o "echo" executado nela (inserir_muninter.php) será retornado no responseText do objeto xmlhttp. Vale ressaltar que não é necessário perguntar o estado da requisição uma vez que a mesma é executado inteiramente antes do fluxo da página que chama o script continue a execução.
Assinar:
Postagens (Atom)