[JavaScript] 숫자 체크 로직

#자바스크립트 #숫자검사함수 #리턴값체크 #날짜검사함수 #대충가져다쓰면되 #숫자체크로직 #날짜체크 #아스키코드표 #숫자아스키코드

안녕하세요, 배곧동개발자 입니다.

웹페이지를 만들다보면 여러가지 입력을 받게되고, 그 입력값들에 제약을 걸어야되는 상황들이 생겨요. 예를들면 날짜라던가 우편번호라던가는 무조건 숫자여야지요?

이럴 때 사용하는 javascript 로직이에요.

자바스크립트 이벤트 중 blur에 넣거나 commit 전, vaildation check할때 넣어주세요.

// 숫자 검사 로직
function checkIntVal(val){
	var tempStr = val;
	var tempStr2 = "";
	for(var i=0; i<tempStr.length; i++){
		tempStr2 = tempStr.charCodeAt(i);
                // 숫자 또는 . 까지는 허용 (.허용 안할 시 아래 44번은 없애면 됨)
		if(!((tempStr2 >=48 && tempStr2 <= 57) || tempStr2 == 44)){
			return false;
		}
	}
	return true;
}

원리는 뭐 간단히 아스키코드를 이용하는거구요. 문자열 하나씩 체크하면서 숫자가 아닌것 찾아내는거에요.

저는 blur 이벤트에 넣어서 그때그때 검사하도록 만들었기에 소스를 조금 수정해서 만들어봤어요. 참고하시면 좋을꺼에요.

function chkIntVal(obj){ 
	var tempStr = obj.value;
	var tempStr2 = "";
	for(var i=0; i<tempStr.length; i++){
		tempStr2 = tempStr.charCodeAt(i);
		if(!((tempStr2 >=48 && tempStr2 <= 57) || tempStr2 == 44)){
			alert("숫자만 입력해주시기 바랍니다.");
			obj.focus();
		}else if(tempStr.length < 5){
			alert("올바른 우편번호를 입력해주시기 바랍니다.");
			obj.focus();
		}
	}
}

추가로 밑에는 아스키코드 표까지 넣어봐요.

참고하셔서 조건문 조금씩 변경해 필요한 함수 만들어 쓰시면 될거에요.

이만, 배곧동개발자 였습니다.

Leave a Comment