JavaScript에서 날짜 형식 "mm/dd/yyyy" 유효성 검사
과제:
형식을 확인하려고 합니다. 날짜 입력 문자열은 "mm/dd/yyyy"입니다. 그러나 시도한 기존 코드 조각은 이 작업을 효과적으로 수행하지 못했습니다.
질문:
제공된 날짜 확인 코드의 근본적인 문제는 무엇입니까?
설명:
주어진 코드는 "mm/dd/yyyy" 형식을 따르는 날짜 문자열의 유효성을 검사하는 것을 목표로 합니다. 그러나 코드 내에는 코드가 올바르게 작동하지 못하게 하는 일부 오류나 불일치가 있을 수 있습니다. 코드를 검사하고 잠재적인 문제를 식별해 보겠습니다.
<code class="js">function isDate(ExpiryDate) { var objDate, // date object initialized from the ExpiryDate string mSeconds, // ExpiryDate in milliseconds day, // day month, // month year; // year // date length should be 10 characters (no more no less) if (ExpiryDate.length !== 10) { return false; } // third and sixth character should be '/' if (ExpiryDate.substring(2, 3) !== '/' || ExpiryDate.substring(5, 6) !== '/') { return false; } // extract month, day and year from the ExpiryDate (expected format is mm/dd/yyyy) // subtraction will cast variables to integer implicitly (needed // for !== comparing) month = ExpiryDate.substring(0, 2) - 1; // because months in JS start from 0 day = ExpiryDate.substring(3, 5) - 0; year = ExpiryDate.substring(6, 10) - 0; // test year range if (year 3000) { return false; } // convert ExpiryDate to milliseconds mSeconds = new Date(year, month, day).getTime(); // initialize Date() object from calculated milliseconds objDate = new Date(); objDate.setTime(mSeconds); // compare input date and parts from Date() object // if difference exists then date isn't valid if ( objDate.getFullYear() !== year || objDate.getMonth() !== month || objDate.getDate() !== day ) { return false; } // otherwise return true return true; }</code>
이 코드에서 발생할 수 있는 문제 중 하나는 월을 Month = ExpiryDate.substring(0, 2) - 1로 추출하려고 시도하는 것입니다. 그러면 월에서 1이 뺍니다. 값으로 인해 잘못된 월 수가 표시될 수 있습니다. 이를 수정하려면 월을 Month =parseInt(ExpiryDate.substring(0, 2), 10) - 1로 추출해야 합니다.
연도 처리에 또 다른 잠재적인 문제가 있습니다. 코드는 연도가 1000~3000 범위에 속하는지 확인하지만 2자리 연도(예: "19" 또는 "20") 가능성은 고려하지 않습니다. 2자리 및 4자리 연도를 모두 수용하려면 연도 추출 및 유효성 검사 논리를 다음과 같이 수정할 수 있습니다.
<code class="js">// extract year if (ExpiryDate.substring(6, 7) === '/') { year = parseInt(ExpiryDate.substring(6, 8), 10); // 2-digit year } else { year = parseInt(ExpiryDate.substring(6, 10), 10); // 4-digit year } // test year range if (year 2999) { return false; }</code>
또한 코드는 현재 "mm/dd/yyyy" 형식이 다음과 같다고 가정합니다. 엄격하게 준수합니다. 좀 더 관대하고 유연한 날짜 문자열 형식을 허용하려면(예: 슬래시 이외의 구분 문자 허용) 이에 따라 코드를 수정해야 합니다.
위 내용은 JavaScript 날짜 확인 코드가 \'mm/dd/yyyy\' 형식을 올바르게 확인하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

JavaScript 문자열 교체 방법 및 FAQ에 대한 자세한 설명 이 기사는 JavaScript에서 문자열 문자를 대체하는 두 가지 방법 인 내부 JavaScript 코드와 웹 페이지의 내부 HTML을 탐색합니다. JavaScript 코드 내부의 문자열을 교체하십시오 가장 직접적인 방법은 대체 () 메소드를 사용하는 것입니다. str = str.replace ( "find", "replace"); 이 메소드는 첫 번째 일치 만 대체합니다. 모든 경기를 교체하려면 정규 표현식을 사용하고 전역 플래그 g를 추가하십시오. str = str.replace (/fi

간단한 자바 스크립트 함수는 날짜가 유효한지 확인하는 데 사용됩니다. 기능 isValidDate (s) { var 비트 = s.split ( '/'); var d = 새로운 날짜 (비트 [2]/'비트 [1]/'비트 [0]); return !! (d && (d.getmonth () 1) == 비트 [1] && d.getDate () == 숫자 (비트 [0]); } //시험 var

이 기사에서는 jQuery를 사용하여 DOM 요소의 내부 마진 및 마진 값, 특히 요소의 외부 마진 및 내부 마진의 특정 위치를 얻고 설정하는 방법에 대해 설명합니다. CSS를 사용하여 요소의 내부 및 외부 마진을 설정할 수는 있지만 정확한 값을 얻는 것이 까다로울 수 있습니다. // 설정 $ ( "div.header"). css ( "margin", "10px"); $ ( "Div.Header"). CSS ( "패딩", "10px"); 이 코드는 생각할 수 있습니다

이 기사는 10 개의 탁월한 jQuery 탭과 아코디언을 탐구합니다. 탭과 아코디언의 주요 차이점은 콘텐츠 패널이 표시되고 숨겨진 방식에 있습니다. 이 10 가지 예를 살펴 보겠습니다. 관련 기사 : 10 JQuery Tab 플러그인

웹 사이트의 역학 및 시각적 매력을 높이기 위해 10 개의 탁월한 jQuery 플러그인을 발견하십시오! 이 선별 된 컬렉션은 이미지 애니메이션에서 대화식 갤러리에 이르기까지 다양한 기능을 제공합니다. 이 강력한 도구를 탐색합시다. 관련 게시물 : 1

HTTP-Console은 HTTP 명령을 실행하기위한 명령 줄 인터페이스를 제공하는 노드 모듈입니다. 웹 서버, 웹 서비스에 대해 만들어 졌는지 여부에 관계없이 HTTP 요청과 함께 어떻게 진행되고 있는지 정확하게 보는 데 유용합니다.

이 튜토리얼은 사용자 정의 Google 검색 API를 블로그 또는 웹 사이트에 통합하는 방법을 보여 주며 표준 WordPress 테마 검색 기능보다보다 세련된 검색 경험을 제공합니다. 놀랍게도 쉽습니다! 검색을 Y로 제한 할 수 있습니다

다음 jQuery 코드 스 니펫은 DIV 내용이 컨테이너 요소 영역을 초과 할 때 스크롤 바를 추가하는 데 사용될 수 있습니다. (데모 없음, FireBug에 직접 복사하십시오) // d = 문서 // w = 창 // $ = jQuery var contentArea = $ (this), wintop = contentArea.scrolltop (), docheight = $ (d) .height (), winheight = $ (w) .height (), divheight = $ ( '#c


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

드림위버 CS6
시각적 웹 개발 도구
