반응형
아래 소스 코드는 사용자가 입력한 신용카드 번호에 자동으로 하이픈(-)을 추가하는 소스 코드입니다.
oninput 이벤트를 통해서 입력 필드의 값이 변경될 때마다 함수가 호출되도록 하였습니다. 또, 정규식을 사용하여 숫자 이외의 모든 문자를 제거하고 있습니다. 간단한 소스 코드이니 확인하시고 사용하시면 됩니다.
<script>
function formatCreditCard() {
var inputElement = document.getElementById('creditCard');
var inputValue = inputElement.value;
var formattedValue = cardNoHyphen(inputValue);
inputElement.value = formattedValue;
}
//신용카드 번호 하이픈(-) 추가
function cardNoHyphen(str){
str = str.replace(/[^0-9]/g, '');
var tmp = '';
if( str.length < 5){
return str;
}else if(str.length < 9){
tmp += str.substr(0, 4);
tmp += '-';
tmp += str.substr(4);
return tmp;
}else if(str.length < 13){
tmp += str.substr(0, 4);
tmp += '-';
tmp += str.substr(4, 4);
tmp += '-';
tmp += str.substr(8, 4);
return tmp;
}else{
tmp += str.substr(0, 4);
tmp += '-';
tmp += str.substr(4, 4);
tmp += '-';
tmp += str.substr(8, 4);
tmp += '-';
tmp += str.substr(12);
return tmp;
}
return str;
}
</script>
<label for="creditCard">신용카드 번호:</label>
<input type="text" id="creditCard" oninput="formatCreditCard()" maxlength="19">
반응형
'개발이야기 > 자바스크립트' 카테고리의 다른 글
[자바스크립트] 올바른 이메일 형식 유효성 체크하기 (2) | 2023.08.28 |
---|---|
[자바스크립트] 업로드 파일 용량, 확장자, 특수문자 체크하기 (0) | 2023.08.28 |
[자바스크립트] setTimeout(), setInterval() 사용법과 예제 (반복 실행) (0) | 2023.08.01 |
[자바스크립트] Plotly Chart 사용법, 예제, 차트 그리기 (0) | 2023.07.28 |
[자바스크립트] Base64 사용방법/예제 (인코딩, 디코딩, 한글, 특수문자) (0) | 2023.07.28 |
댓글