티스토리 뷰
반응형
input에 데이터를 입력을 받을때, 해당 코드 포맷에 맞추어 입력해줘야하는 요구가 있었다.
디테일한 요구조건
1. 숫자만 입력
2. {0000 0000} 포맷
3. max 8자
HTML
<label for="code">
해당 코드를 입력해주세요.<br>
<span style="font-size:12px;">(EX : 1234 5678)</span><br>
</label>
<input id="code" type="text">
JS
$('#code').on('input', function(){
var thisVal = $(this).val().replace(/\s|\D/g, '');
thisVal = thisVal.replace(/(\d{4})\B/g, '$1 ');
thisVal = thisVal.substr(0,9);
$(this).val(thisVal);
});
CSS
#code{margin-top:10px; display:block;}
문자를 입력받게되면 빈값으로 치환했고 그 다음 한칸 스페이스와 포맷에 맞춰 삽입했다.
그리고 마지막으로 스페이스 포함 9자 이상일 경우 노출되지 않도록 9자까지만 subStr로 잘라서 해당 input에 넣어줬다.
예제
See the Pen accesscode input format example by leeyoonseo (@okayoon) on CodePen.
반응형
'Javascript' 카테고리의 다른 글
02. Rest 파라미터 - 스프레드(Spread) 연산자와 Rest 파라미터 (0) | 2018.10.29 |
---|---|
01. Spread 연산자 - 스프레드(Spread) 연산자와 Rest 파라미터 (0) | 2018.10.29 |
Google Javascript Maps API를 사용하여 지도 올리기! (0) | 2018.10.26 |
ajax 이슈, 파라미터 값이 안 보내져요. (processData) (0) | 2018.10.24 |
버튼 클릭하여 해당영역으로 스크롤 이동하기 scrollintoview(); (0) | 2018.10.23 |
자동으로 연도 변경하여 삽입하기 (0) | 2018.10.23 |
마우스 휠로 전체 페이지 영역 넘기기 (0) | 2018.10.23 |
three.js 라이브러리 공부하기 (0) | 2018.10.16 |