Notice
Recent Posts
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 포토샵 핸드툴 단축키
- 크리에이터링크 이미지링크
- 포토샵 스페이스바 오류
- 후두골이형성증
- css 화면이동
- 크리에이터링크 상세페이지
- javascript 자식 노드 삭제
- 자바스크립트 타이머 만들기
- javascript 자식 노드 복사
- 매일두유
- 당연해?왜?
- 덕수궁 석조전
- 애드센스
- 자바스크립트 링크
- javascript 자식 노드 추가
- 강아지 발작
- html 다운로드 버튼 만들기
- 포토샵 핸드툴 오류
- css변수
- 다른 사이트로 연결
- 크리에이터링크 이미지클릭
- css사칙연산
- 일러스트 스페이스바 오류
- 종묘대제
- 셀렉트 태그 링크
- 쏜살치킨
- 대한제국역사관
- 일러스트 핸드툴 오류
- 당연해?뭐가?
- 클린 서구
Archives
- Today
- Total
열정과 게으름 사이
윤년 계산& 14세 미만 가입방지. 본문
아직 공부가 부족해서 인가.
이벤트 하나로 깔끔하게 윤년과 14세 미만을 출력하는 것은 짜기가 어렵네.
그래서 input시 윤년 계산,
change시에 14세 미만을 확인하도록 했다.
더 깔끔하게 할 수 있는 방법은 더 찾아보는 걸로.
let today = new Date(),
year = today.getFullYear(),
month = today.getMonth()+1, // 0부터 시작하기 때문에 1을 더해줌//
day = today.getDate();
//- 월에 맞는 날짜 출력 & 만14세 가입 방지-//
$('#user_birthday_day').on({
input:function(){
let val = $(this).val();
let year_val = $('#user_birthday_year').val();
month_val = $('#user_birthday_month').val();
$(this).val(val.replace(/[^0-9]/g,""));
if($(this).val()>0){
if(month_val == 1 || month_val == 3 || month_val == 5 || month_val == 7 || month_val == 8 || month_val == 10 || month_val == 12 ){
if($(this).val() > 31){
alert('해당월의 마지막날 보다 큽니다.');
$(this).val("");
}
}
else if(month_val == 2){
let year_val = $('#user_birthday_year').val();
if(Number(year_val) % 100 != 0 && Number(year_val) % 4 == 0 || Number(year_val) % 400 == 0){//윤년 계산//
if($(this).val() > 29){
alert('해당월의 마지막날 보다 큽니다.');
$(this).val("");
}
}else if( Number(year_val) % 400 != 0 || Number(year_val) % 100 == 0){
if($(this).val() > 28){
alert('해당월의 마지막날 보다 큽니다.');
$(this).val("");
}
}
}
else if(month_val== 4 ||month_val == 6 || month_val == 9 ||month_val == 11 ){
if($(this).val() > 30){
alert('해당월의 마지막날 보다 큽니다.');
$(this).val("");
}
}
}
else if((this).val()<0){
$(this).val("1");
}
},
change:function(){
let year_val = $('#user_birthday_year').val();
month_val = $('#user_birthday_month').val();
if($(this).val() > day){ //오늘 보다 나중일때//
if(Number(year)-Number(year_val) > 14){//출생연도 확인 14보다 큼//
$(this).val($(this).val());
}
else if(Number(year)-Number(year_val) < 14){//출생연도 확인 14보다 작음//
alert('만14세 미만은 가입할수 없습니다.');
$(this).val("");
}
else if(Number(year)-Number(year_val)== 14){//출생연도 확인 14와 같음//
if(Number(month)-Number(month_val)<=0){//출생월 확인 당월 이거나 이후 출생//
alert('만14세 미만은 가입할수 없습니다.');
$(this).val("");
}
if(Number(month)-Number(month_val)>0){//출생월 확인 당월보다 이전 출생(14와 같고 이전 출생)//
$(this).val($(this).val());
}
}
}
else if($(this).val() <= day){//오늘과 같거나 이전일때//
if(Number(year)-Number(year_val) > 14){//출생연도 확인 14보다 큼//
$(this).val($(this).val());
}
else if(Number(year)-Number(year_val) < 14){//출생연도 확인 14보다 작음//
alert('만14세 미만은 가입할수 없습니다.');
$(this).val("");
}
else if(Number(year)-Number(year_val)== 14){//출생연도 확인 14와 같음//
if(Number(month)-Number(month_val)<0){//출생월 확인 당월보다 이후 출생//
alert('만14세 미만은 가입할수 없습니다.');
$(this).val("");
}
if(Number(month)-Number(month_val)>=0){//출생월 확인 당월보다 이전 출생이거나 생일 당일/
$(this).val($(this).val());
}
}
}
}
});
반응형
'공부 메모 > javaScript' 카테고리의 다른 글
팝업 목록. (0) | 2020.12.31 |
---|---|
form에서 enter키로 전송 될 때/유효성 검사 (0) | 2020.12.03 |
페럴릭스 만들기 (0) | 2020.08.29 |
자동으로 움직이는 무한 반복 슬라이드 (2) | 2020.08.24 |
ajax으로 html불러와서 최근글 적용 (0) | 2020.08.20 |
Comments