728x90
반응형
사용자가 input text에 값을 입력할 때 숫자가 한자리인 경우 0을 자동으로 넣어주는 함수를 공유하고자 합니다.
해당 함수를 사용하는 예로는 월을 입력할 때 1~9월인 경우 숫자 앞에 0을 붙일 수 있고(01월, 02월.. 등), 시간이나 분을 입력할 경우(01시, 02시... 등)에도 함수를 사용할 수 있습니다.
예제를 통해 바로 알아보겠습니다.
zeroFill함수에서 this는 값을 위함이고, 2는 자릿수 입니다.
예를 들어 01, 02의 값이 아닌 001, 002을 채우고자 한다면 3으로 변경해서 사용해주시면 될 것 같습니다.
<input type="text" id="test" maxlength="2" onblur="zeroFill(this, 2);" />
<script>
//숫자가 한자리인 경우 0 붙이기
function zeroFill(target, width) {
var n = target.value;
var id = target.id;
n = n + "";
if(n.length >= width){
document.getElementById(id).value = n;
}else{
document.getElementById(id).value = new Array(width - n.length + 1).join('0') + n;
}
}
</script>
테스트 한번 해보세요.
1) 숫자 2자리
2) 숫자 3자리
728x90
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
html 정규식 사용하여 text만 가져오기 (1) | 2020.10.11 |
---|---|
자바스크립트 ContextPath 가져오기 (0) | 2019.09.15 |
자바스크립트 라디오의 글자(text) 클릭시 라디오 버튼 선택되도록 하기 (0) | 2019.02.17 |
SCRIPT8009: 'Ajax'이(가) 정의되지 않았습니다. 오류 해결하기 (0) | 2019.01.26 |
SCRIPT8009: 'JSON'이(가) 정의되지 않았습니다. 오류 해결하기 (0) | 2019.01.26 |