JavaScript로 유효성검사를 해보자

JD·2021년 9월 28일
0

JavaScript

목록 보기
3/13

정규식을 활용해서 간단한 유효성검사를 만들어보자
입력 받는 형식은 YYYYMMDD OR YYYY-MM-DD 에
(- , . , /)가능하도록

🎈 유효성 검사 예제

function isValidDateFormat(date) {
	// 자릿수검사
	if(date.length != 8 && date.length != 10) return false;
	
	
	// 특수문자 제거
	let regex = /(\.)|(\-)|(\/)/g;
	date = date.replace(regex,"");
	//	 |: 또는 역할
	// . 이거나 - 이거나 / 조건인 정규식  
	//g:는 전체
	
	// 타입 검사 (숫자)
	let format = /^[12][0-9]{7}/;
	// ^: 앞부분 
	// $: 뒷부분
	
	if(! format.test(date))return false;
	// .test: 해당 date가 정규식에 충족하는지 boolean 형태로 반환
	
	// 월 일 검사
	let y = parseInt(date.substr(0,4));
	let m = parseInt(date.substr(4,2));
	let d = parseInt(date.substr(6));
	
	if(m<1|| m>12)return false;
	
	let lastDay = (new Date(y,m,0)).getDate();
	if(d<1||d>lastDay) return false;
		
	
	return true;
}

🎈하면서

입력 방식을 안정하고 했으면 정규식을 어떻게 더 정확하게하지 하면서 고민하게된다... 961222도 있고 2021112도할수도있는데 input말고 select 쓸껄

🎈마치며

코드작성할땐 항상 여러관점에서 봐야지

0개의 댓글

Powered by GraphCDN, the GraphQL CDN