-3

How to Validate of Date of birth of range 1977 to 1999 in javascript enter code here DOB

function validate() {
  var dob = document.getElementById('txtDOB').value;

  var pattern = /^()$/;

  if (dob == null || dob == "" || !pattern.test(dob)) {

    alert('Invalid date of birth');
    return false;
  } else {
    alert('valid');
    return true;
  }
}
<input type="text" id="txtDOB" />
<input type="button" value="Submit" onclick="validate()" />
freedomn-m
  • 27,664
  • 8
  • 35
  • 57

1 Answers1

0

CHECK YEAR + VALID DATE

function validate() {
  var date = new Date(document.getElementById('txtDOB').value), date = date ? date.getFullYear() : false;

  if (date && date >= 1977 && date <= 1999) {
    alert('valid');
    return true;
  } else {
    alert('Invalid date of birth');
    return false;
  }
}
<input type="text" id="txtDOB" />
<input type="button" value="Submit" onclick="validate()" />

JUST CHECK YEAR (no check date valid):

function validate() {
  var date = document.getElementById('txtDOB').value, date = date.match(/\d{4}/);

  if (date && date[0] >= 1977 && date[0] <= 1999) {
    alert('valid');
    return true;
  } else {
    alert('Invalid date of birth');
    return false;
  }
}
<input type="text" id="txtDOB" />
<input type="button" value="Submit" onclick="validate()" />

ONLY FOR YOUR FORMAT (dd-mm-yyyy):

function validate()
{
  var
    date      = document.getElementById('txtDOB').value,
    year      = date.match(/\d{4}/),
    extract   = date.replace(year,'').match(/(\d+)/g)
  ;

  if(date && year && year[0] >= 1977 && year[0] <= 1999 && new Date(extract[1]+'/'+extract[0]+'/'+year[0]) != 'Invalid Date')
  {
    alert('valid');
    return true;
  }
  else
  {
    alert('Invalid date of birth');
    return false;
  }
}
<input type="text" id="txtDOB" />
<input type="button" value="Submit" onclick="validate()" />
Community
  • 1
  • 1
Liberateur
  • 1,337
  • 1
  • 14
  • 33