2017-09-12 1 views
0

영어에 대한 정보가 전혀없는 점은 좋았지 만, 나는 생년월일 텍스트 입력란에 날짜 형식이 dd/mm/yyyy이고 응시자가 15 세에서 80 세 사이의 사람이어야하며 그렇지 않은 경우 양식을 채울 때 취업 신청서에 연령 제한을 넣으려고합니다. 그들은 신청할 수 없을 것입니다. HTML 파일에 포함시키지 않고 .js 파일에만 씁니다.자바 스크립트를 사용하여 연령 제한

은 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에서 두 날짜 사이의 일 수를 얻으려면 어떻게합니까?] (https://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between) -two-dates-in-javascript) – stealththeninja

+0

이것은 날짜 유효성 검사, 구문 분석 및 두 날짜 간의 차이가 중복 된 것으로 보입니다. 한 번에 하나씩 교량을 건너야합니다. 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

당신은 분을 사용할 수 있으며 최대는 HTML5 입력 날짜의 속성

HTML :

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

자바 스크립트 :

 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

입력 유형이 "텍스트"이고 할당 번호가 날짜가 아님 – user8595022

+0

나이가 18-50 세 사이가 아니며 사용자가 입력 한 생년월일부터 계산해야하는 경우 사용자가 경고를 적용하지 못하도록 제한합니다. – user8595022

+0

type = "text"로 유지하고 패턴이 만족되면 날짜를 확인한 다음 @GavinLuo 코드를 사용하여 나이를 확인하고 false를 반환하면 경고를 표시합니다. –

관련 문제