본문 바로가기
개발언어/JavaScript

[JavaScript] 자바스크립트로 날짜, 시간 유효성 체크/ 날짜 시간 정규식 표현 방법

by 코딩 시그널 2020. 11. 2.
반응형

오늘은 자바스크립트로 날짜 유효성 검사 방법을 정리해보도록 하겠습니다. 

 

- 시간 :  HH24:mm (24시간)

let pattern = /^([1-9]|[01][0-9]|2[0-3]):([0-5][0-9])$/;

console.log(pattern.test("01:21"));   // 결과 : true

console.log(pattern.test("01:61"));   // 결과 : false

console.log(pattern.test("1:21"));    // 결과 : true

console.log(pattern.test("1:61"));    // 결과 : false

console.log(pattern.test("24:21"));   // 결과 : false

 

 

- 날짜 : yyyy-MM-dd

let pattern = /^(19|20)\d{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[0-1])$/; 

console.log(pattern.test("2020-10-31"));  // 결과 : true

console.log(pattern.test("20201030"));    // 결과 : false

console.log(pattern.test("2020-10-32"));  // 결과 : false
let pattern = /[0-9]{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])/;

console.log(pattern.test("2020-10-31"));  // 결과 : true

console.log(pattern.test("2020-10-32"));  // 결과 : true

console.log(pattern.test("20201030"));    // 결과 : false

console.log(pattern.test("2020-1-31"));   // 결과 : true

console.log(pattern.test("2020-1-8"));    // 결과 : true
let pattern = /[0-9]{4}-[0-9]{2}-[0-9]{2}/;

console.log(pattern.test("2020-10-31"));  // 결과 : true

console.log(pattern.test("2020-10-32"));  // 결과 : true

console.log(pattern.test("20201030"));    // 결과 : false

console.log(pattern.test("2020-1-8"));    // 결과 : false

 

- 날짜 + 시간 : yyyy-MM-dd hh:mm:ss

let pattern = /([0-2][0-9]{3})-([0-1][0-9])-([0-3][0-9]) ([0-5][0-9]):([0-5][0-9]):([0-5][0-9])(([\-\+]([0-1][0-9])\:00))?/; 

console.log(pattern.test("2020-10-31"));             // 결과 : false

console.log(pattern.test("2020-10-31 1:11:12"));     // 결과 : false

console.log(pattern.test("2020-10-31 01:11:12"));    // 결과 : true

console.log(pattern.test("2020-10-31 99:11:12"));    // 결과 : false



아래의 링크는 정규식을 테스트할 수 있는 사이트입니다. 정규식 변경과 검색이 가능하므로 위의 내용에서 변경이나 새로운 정규식을 만들 때 편리하게 사용할 수 있습니다.

 

Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript

Please wait while the app is loading...

regex101.com

 

댓글