Ir para conteúdo

POWERED BY:

Arquivado

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

Prove Yourself

Regex e data?

Recommended Posts

Porque a regex ^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/2[0-9]{3}$ não valida a data 22/08/2010?

 

Estou fazendo assim:

var prazoSplit = prazo.split('/');

var prazoDate = new Date();

prazoDate.setFullYear(parseInt(prazoSplit[2]));
prazoDate.setMonth(parseInt(prazoSplit[1]) - 1);
prazoDate.setDate(parseInt(prazoSplit[0]));

var today = new Date();

if(
    !prazo.match('^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/2[0-9]{3}$') ||
    prazoDate <= today
) {
    createErrorMessage('Digite uma data válida (por exemplo: 25/12/2010) ou deixe em branco.');
    return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isolando o teu codigo:

<script type="text/javascript">
	var prazo = '22/08/2010';
	var prazoSplit = prazo.split('/');

	var prazoDate = new Date();

	prazoDate.setFullYear(parseInt(prazoSplit[2]));
	prazoDate.setMonth(parseInt(prazoSplit[1]) - 1);
	prazoDate.setDate(parseInt(prazoSplit[0]));

	var today = new Date();


	if( prazoDate <= today )
	{
		alert( 'Erro' );
	}
</script>
dá para ver que o problema não é a ER.

é a comparação !

 

Trabalhe melhor nela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.