Ir ao conteúdo

mascarar data para so aceitar numeros


Ferreira27

Posts recomendados

Postado

Olá

 

estou tentando mascarar o campo data para só aceitar números se digito aa/aa/aaaa ta aceitando , mas que mantenha as barras ( dd/mm/aaaa) ou impedir de digitar letras .

Nascimento<span class="obrigatorio"></span><br>							<input type="text" name="data" OnKeyUp="mascara_data(this.value)" onKeypress="return numeros();" maxlength="10"placeholder="dd/mm/aaaa"><br>                            
function mascara_data(data){               var mydata = '';               mydata = mydata + data;               if (mydata.length == 2){                   mydata = mydata + '/';                   document.forms[0].data.value = mydata;               }               if (mydata.length == 5){                   mydata = mydata + '/';                   document.forms[0].data.value = mydata;               }               if (mydata.length == 10){                   verifica_data();               }           }                      function verifica_data () {             dia = (document.forms[0].data.value.substring(0,2));             mes = (document.forms[0].data.value.substring(3,5));             ano = (document.forms[0].data.value.substring(6,10));             situacao = "";             // verifica o dia valido para cada mes             if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) {                 situacao = "falsa";             }             // verifica se o mes e valido             if (mes < 01 || mes > 12 ) {                 situacao = "falsa";             }             // verifica se e ano bissexto             if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) {                 situacao = "falsa";             }                 if (document.forms[0].data.value == "") {                 situacao = "falsa";             }                 if (situacao == "falsa") {                 alert("Data inválida!");                 document.forms[0].data.focus();             }           } 
  • Membro VIP
Postado

Você usa jQuery? Se sim, já pensou em utilizar o DatePicker do jQuery UI?

http://jqueryui.com/datepicker/

Se não: recomendo que pense seriamente nessa possibilidade.. além de tudo torna o sistema visualmente muito mais agradável.

 

Se ainda não quiser utilizar o jQuery, dê uma olhada nos seguintes links:
http://stackoverflow.com/questions/13952686/how-to-make-html-input-tag-only-accept-numerical-values
http://lmgtfy.com/?q=input+only+numbers+-jquery (primeiro link bem útil)

Postado

Outra opção é mais simples é usar o campo tipo data do HTML5

ele abre um calendario para escolher a data

<input type="date" name="nome">

obs. não funciona no firefox

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!