Jump to content


Photo

Checar O Dia Do Mes


  • Faça o login para participar
19 replies to this topic

#1 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 16/06/2005, 15:13

Preciso de um script pra verificar se o mes digitado tem dia 31, 30, etc...

alguem sabe como fazer essa verificacao ?

e outra coisa... na hora de digitar como forçar a pessoa digitar os 10 caracteres? pq o padrao seria: 16/06/2005 .. mas as vezes ela pode digitar 16/6/2005

utilizo um script para checar que verifica se ela ta digitada certo... tipo.. dia nao passa de 31 e mes nao passa de 12 e tals;;;;

alguem poderia implementá-lo para esses dois itens acima ?

function validadata(){
d = document.formdata;
         //validar datainicio
         erro=0;
         hoje = new Date();
         anoAtual = hoje.getFullYear();
         barras = d.datainicio.value.split("/");
         if (barras.length == 3){
                   dia = barras[0];
                   mes = barras[1];
                   ano = barras[2];
                   resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
                   if (!resultado) {
                             alert("Formato de data invalido! Data Inicial !!");
                             d.datainicio.focus();
                             return false;
                   }
         } else {
                   alert("Formato de data invalido! Data Inicial !!");
                   d.datainicio.focus();
                   return false;
         }
                  return true;
                  }

grato.

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 16/06/2005, 15:33

Em relação à primeira dúvida, para saber quantos dias existem em determinado mês do ano, fiz este código para você analisar:
<script type="text/javascript">
// Declara variáveis
var data,ano,mes,bissexto,meses,qnt;
// Obtém a data atual
data=new Date();
// Obtém o ano atual
ano=data.getFullYear();
// Obtém o mês atual
mes=data.getMonth();
// Verifica se o ano é bissexto, para definir a quantidade de dias do mês Fevereiro
bissexto=(((ano%4)==0&&(ano%100)!=0)||(ano%400)==0)?29:28;
// Array das quantidades de dias de cada mês
meses=new Array(31,bissexto,31,30,31,30,31,31,30,31,30,31);
// Quantidade de dias do mês atual
qnt=meses[mes];
// Imprime
document.write("O mês atual contém "+qnt+" dias");
</script>
Adapte-o às sua necessidades ... ;)

[]’s :DAté mais

#3 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 16/06/2005, 17:20

bom... a parte de fazer a pessoa digitar 01/06/2005 eu ja consegui fazer...

mas essa parte de verificar o mes... nao deu muito certo... veja como imaginei:

         //validar datafim
         erro=0;
         hoje = new Date();
         anoAtual = hoje.getFullYear();
         barras = d.datafim.value.split("/");
         if (barras.length == 3){
                   dia = barras[0];
                   mes = barras[1];
                   ano = barras[2];
//Tentativa de checagem de dias do mes
// Declara variáveis
var data,ano,mes,bissexto,meses,qnt;
// Obtém a data atual
data=new Date();
// Obtém o ano atual
ano=data.getFullYear();
// Verifica se o ano é bissexto, para definir a quantidade de dias do mês Fevereiro
bissexto=(((ano%4)==0&&(ano%100)!=0)||(ano%400)==0)?29:28;
// Array das quantidades de dias de cada mês
meses=new Array(31,bissexto,31,30,31,30,31,31,30,31,30,31);

// Quantidade de dias do mês atual
                   if (dia > meses[mes]) {
                             alert("Último dia do Mês inválido! Verifique.");
                             d.datafim.focus();
                             return false;
                   }
                   

//Fim tentativa


                   resultado = (!isNaN(dia) && (dia.length == 2) &&(dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes.length == 2) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
                   if (!resultado) {
                             alert("Formato de data invalido! Data Final");
                             d.datafim.focus();
                             return false;
                   }
         } else {
                   alert("Formato de data invalido! Data Final");
                   d.datafim.focus();
                   return false;
         }


onde estaria o erro ? pode corrigir para mim ?

obrigado.

#4 Rehzus

Rehzus

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado

Posted 16/06/2005, 21:40

Bom, há um tempo atrás eu havia criado um função que fizesse isso:

function anoBissexto(anoCompleto)
	{
  if(!(anoCompleto%4) && (anoCompleto%100 || !(anoCompleto%400))) return true;
  return false;
	}
	function diasNoMes(mes,ano)
	{
  var var_type=typeof mes;
  if(var_type != "number" && var_type != "string") return false;
  if(var_type == "number" && (mes > 11 || mes < 0) && !isInt(mes)) return false;
  var eng_args_allowed = "january-february-march-april-may-june-july-august-september-october-november-december";
  
  var bra_args_allowed = "janeiro-fevereiro-marçomarco-abril-maio-junho-julho-agosto-setembro-outubro-novembro-dezembro";
  var vet_eng_args_allowed = eng_args_allowed.split("-");
  var vet_bra_args_allowed = bra_args_allowed.split("-");
  var datahj = new Date();
  var anohj = datahj.getFullYear();
  var dias = [31,anoBissexto(ano)?29:28,31,30,31,30,31,31,30,31,30,31];
  
  if(var_type == "string")
  {
 	 indice_eng = keyPosMatch(vet_eng_args_allowed,mes);
 	 indice_bra = keyPosMatch(vet_bra_args_allowed,mes);
 	 if(indice_eng>=0) return dias[indice_eng];
 	 if(indice_bra>=0) return dias[indice_bra];
 	 return false;
  }
  else return dias[mes];
	}

A função do anoBissexto é necessária...
Por questão dos bons costumes deixei modularizados o algoritmo...
Ok?

::Obrigado pela dúvida!
"A imaginação é muito mais importante que o conhecimento" (Albert Einstein)

#5 Rehzus

Rehzus

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado

Posted 16/06/2005, 21:42

Ah sim...estava me esquecendo...
Como você pode perceber a função tb aceita o paramêtro mes como sendo literal...contendo o valor por extenso do mês, tanto em inglês como em português..

Aceita tanto "jan",como "janeiro" como "january"...
HEhehehehee parece frescura mas nem é...
Por isso a função ficou um pouquinho maior do que o normal....

:D
"A imaginação é muito mais importante que o conhecimento" (Albert Einstein)

#6 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 16/06/2005, 22:01

bom... a funcao taí... mas... eu preciso que funcione junto com a outra.

#7 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 16/06/2005, 22:05

O que está impedindo você?
Klaus Paiva
Conheça também: Taperás

#8 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 17/06/2005, 09:01

simples.... nao tenho a minima ideia de como mesclar elas.... :blink:

:angry: :angry: :angry: :angry:

#9 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 17/06/2005, 10:14

Copia e cola.
Klaus Paiva
Conheça também: Taperás

#10 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 17/06/2005, 10:33

nao funciona.... derrrrrrrrrrrr...

oq eu quero é fazer ambas funcionarem ao mesmo tempo.... as duas verificacoes ... a que eu ja uso e essa....

mas... se for pra usar soh essa ultima.. funciona.. mas nao é oq eu preciso... eu preciso das DUAS.............. :angry:

ta dificirrrrrrrrrrr.... chegar a um consenso........... <_<

#11 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 17/06/2005, 10:47

OK, deixa eu ver as várias formas que você já tentou.
Klaus Paiva
Conheça também: Taperás

#12 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 17/06/2005, 20:24

se for possivel fazer isso... e deixar pronto... seria legal... <_< ...

#13 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 20/09/2017, 18:02

Tadalis Sx Naturel cialis buy online Levitra Gebrauchsinformation
Cialis E Liquid Achat Cialis Meilleur Prix
Where To Purchase On Line Stendra <a href=http://cialtobuy.com>online pharmacy</a> Zithromax Ear Drops
Para Que Sirve Cialis 20 Mg online pharmacy Buy Diflucan Without No Prescription Vetrinary
Dose Cephalexin Uti Generic Viagra 25mg
Farmacie Online Tamoxifen <a href=http://cialtobuy.com>cialis buy online</a> Dapoxetina Esperienze

#14 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 05/10/2017, 11:58

Pharm Support Group Canada Propecia Knoll viagra Cialis Prix Moyen En Pharmacie
Generic Real Clobetasol Free Shipping Cheap Store Amoxicillin 400 Mg 5ml Amoxicilline Teva 250mg 5ml generic cialis Best Price 100mg Generic Viagra On Line Cephalexin 11 Pound Puppy Farmacia On Line Cialis Generico

#15 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 12/10/2017, 21:08

Levitra 10 Mg Torrinomedica Foros Comprar Kamagra Cialis 5mg Taglich viagra Generico Priligy (Dapoxetine) Viagra Otras Pastillas Finasteride 10mg Overseas Low Price
Diarex Izotek From Canada Does Amoxicillin Smell Expire costco pharmacy prices levitra 52 Dog Uti Cephalexin Viagra Apotheke
Viagra Generika De Viagra Kamagra 100 Get Atarax Online Fast Shipping Option overnight delivery buy levitra online Purchasing Doxycycline




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq