permitir a partir do dia 3 dia
3 dia
by Rapha Souza
HTML
<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!--
Bootstrap docs: https://getbootstrap.com/docs
-->
<div class="container">
<div class="row">
<div class="col">
<input type="date" id="txtDat" onchange="validadata(this)">
</div>
</div>
</div>
<script>
function validadata(d){
var data = d.value; // pega o valor do input
data = data.replace(/\//g, "-"); // substitui eventuais barras (ex. IE) "/" por hífen "-"
var data_array = data.split("-"); // quebra a data em array
var dia = data_array[2];
var mes = data_array[1];
var ano = data_array[0];
// para o IE onde será inserido no formato dd/MM/yyyy
if(data_array[0].length != 4){
dia = data_array[0];
mes = data_array[1];
ano = data_array[2];
}
var hoje = new Date();
var d1 = hoje.getDate();
var m1 = hoje.getMonth();
var a1 = hoje.getFullYear();
var d1 = new Date(a1, m1, d1);
var d2 = new Date(ano, mes-1, dia);
var diff = d2.getTime() - d1.getTime();
diff = diff / (1000 * 60 * 60 * 24);
var dias = 3; // número de dias pra frente
var a = (d1.getDay()+1)%7; // dia da semana de hoje+1
var da = (d1.getDay()+3)%7; // dia da semana de hoje+3
// se for 6 (sábado) ou 0 (domingo)
if(a == 6 || da == 6 || da == 0){
dias += 2;
}else if(a == 0){
dias += 1;
}
if(diff < dias){
alert("Apenas data a partir do 3º dia");
}else{
alert("Data válida!");
}
}
</script>
CSS
.row {
background: #f8f9fa;
margin-top: 20px;
}
.col {
border: solid 1px #6c757d;
padding: 10px;
}