자바스크립트 input value 값 변경 질문

자바스크립트 input value 값 변경 질문

QA

자바스크립트 input value 값 변경 질문

본문

안녕하세요 날짜 입력 관련해서 지금 코딩중인데 예를 들어서 사용자가 input에서 20220101 이렇게 입력하면 2022-01-01 이런식으로 value 값이 자동으로 변경되게 할려면 어떤 식으로 해야 할까요? 읽어주셔서 감사합니다. 

이 질문에 댓글 쓰기 :

답변 2


<script>
function date_number(vv){
    str=vv.value;
 
    var RegNotNum  = /[^0-9]/g;
    var RegPhonNum = "";
    var DataForm   = "";
 
    if( str == "" || str == null ) return "";
    str = str.replace(RegNotNum,'');
    if( str.length < 5 ) return str;
 
    if( str.length > 4 && str.length <= 6 ) {
        DataForm = "$1-$2";
        RegPhonNum = /([0-9]{4})([0-9]+)/;
    } else if(str.length > 6){
        DataForm = "$1-$2-$3";
        RegPhonNum = /([0-9]{4})([0-9]{2})([0-9]+)/;
    }
 
    while( RegPhonNum.test(str) ) {  
        str = str.replace(RegPhonNum, DataForm);  
    }
 
    vv.value=str;
}
</script>
 
<input type="text" name="date" value="" onkeyup="date_number(this);">

입력 후 키를 떼는 순간, 8자리의 숫자일 때 Y-m-d 형태로 치환합니다.

함수로 따로 빼지 않았습니다.


<input type="text" onkeyup="if(/^\d{8}$/.test(this.value))this.value=this.value.replace(/^(\d{4})(\d{2})(\d{2})$/, '$1-$2-$3');">
답변을 작성하시기 전에 로그인 해주세요.
전체 17,962 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT