2017-09-12 76 views
0

JavaScriptに関する新しい知識があります。私は、誕生日のテキストフィールド、日付の形式はdd/mm/yyyyで、応募者は15歳から80歳の間でなければならない就職申請書に年齢制限を入れようとしています。彼らは適用することができなくなります。 HTMLファイルに埋め込むのではなく、.jsファイルに書き込むだけです。Javascriptを使用した年齢制限

はDOB入力タイプであり、名前はdob、idはdob、パターンは(0 [1-9] | 1 [0-9] | 2 [0-9] | 3 [01])/ 0 [1-9] | 1 [012])/ [0-9] {4}

ありがとうございます。

+1

これはサーバーで行う必要があります。 – Pointy

+1

[JavaScriptで2つの日付間の日数を取得するにはどうすればよいですか?](https://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between -two-dates-in-javascript) – stealththeninja

+0

これは、日付の検証、解析、および2つの日付の違いの複製であるようです。これらの橋を一度に1つずつ交差させる必要があります。 Pointyが言っているように、これはクライアント側のコードを信用できないので、サーバー上で実行してください。 – RobG

答えて

-1

function processDate(date){ 
 
    var parts = date.split("/"); 
 
    return new Date(parts[2], parts[1] - 1, parts[0]); 
 
} 
 

 
function calcAge(date) { 
 
    var dBirth = processDate(date); 
 
    var dToday = new Date(); 
 
    var diff = dToday.getTime() - dBirth.getTime(); 
 
    return Math.floor(diff/(1000 * 60 * 60 * 24 * 365.25)); 
 
} 
 

 
function validateDate(date){ 
 
    var age = calcAge(date); 
 
    console.log(age); 
 
    if(15<=age && age <=80) return true; 
 
    else { 
 
    return false; 
 
    } 
 
} 
 

 
console.log(validateDate("01/12/1988")); 
 

 
console.log(validateDate("02/11/1911"));

0

あなたは分を使用することができるとmaxは、HTML5の入力日付の属性

HTML:

<input type="date" id="txtDate" /> 

はJavaScript:

 var dtToday = new Date(); 
     var month = dtToday.getMonth() + 1; 
     var day = dtToday.getDate(); 
     var year = dtToday.getFullYear(); 
     var maxYear = year - 18; 
     if(month < 10) 
      month = '0' + month.toString(); 
     if(day < 10) 
      day = '0' + day.toString(); 

     var maxDate = maxYear + '-' + month + '-' + day; 
     var minYear = year - 80; 
     var minDate = minYear + '-' + month + '-' + day; 
     alert(maxDate); 
     document.querySelectorAll("#txtDate")[0].setAttribute("max",maxDate); 

     document.querySelectorAll("#txtDate")[0].setAttribute("min",minDate); 
+0

私は入力タイプ= "text"であり、割り当てに応じた日付ではありません – user8595022

+0

年齢が18〜50歳でない場合にユーザーにアラートを適用しないように制限し、ユーザーが入力した生年月日から計算します。 – user8595022

+0

type = "text"のままにして、パターンが満足すれば日付を検証し、@GavinLuoコードを使用して年齢を検証し、falseを返すとアラートを表示します。 –

関連する問題