Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="holder">
    Date : <input type="text" name="name" class="dateRegEx" />
</div>
</body>
</html>
 
$('input').on('keypress', function (e) {
  var thisVal = $(this).val();
  var leng = thisVal.length;
  if (window.event) {
    code = e.keyCode;
  }else {
    code = e.which;
  };
  var allowedCharacters = [49,50,51,52,53,54,55,56,57,48,45];
  var isValidInput = false;
  
  for (var i = allowedCharacters.length - 1; i >= 0; i--) {
    if(allowedCharacters[i] == code){
      isValidInput = true;
    } 
  };
  if(isValidInput === false ||/* Can only input 1,2,3,4,5,6,7,8,9 or - */
    (code == 45 && (leng < 2 || leng > 5 || leng == 3 || leng == 4)) ||
    ((leng == 2 || leng == 5) && code !== 45) || /* only can hit a - for 3rd pos. */
    leng == 10 ) /* only want 10 characters "12-45-7890" */
    {
    event.preventDefault();
    return;
  }
});
$('input').on('keyup',function(e){
  var thisVal = $(this).val();
  var leng = thisVal.length;
  var reg = new RegExp(/^(((0[13578]|1[02])\-(0[1-9]|[12]\d|3[01])\-((19|[2-9]\d)\d{2}))|((0[13456789]|1[012])\-(0[1-9]|[12]\d|30)\-((19|[2-9]\d)\d{2}))|(02\-(0[1-9]|1\d|2[0-8])\-((19|[2-9]\d)\d{2}))|(02\-29\-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);
  if(leng == 10){
    if(reg.test(thisVal)){
      console.log('Valid Date');
    }else {
      event.preventDefault();
      return;
    } 
  }
});
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
tylerbrownhenrypro
0viewers