은행 카드 번호는 4자리마다 빈칸을 삽입한다

4707 단어
어려운 점은 공백을 삽입하는 것이 아니라 커서의 위치를 수정하는 것입니다. 이것은 IE9+만 지원합니다.
<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title> 4 </title>
    <script src="http://j2.58cdn.com.cn/js/jquery-1.8.3.js"></script>
</head>

<body>
    <input type="text" id="kahao" />
    <script>
        $(function() {

            $('#kahao').on('keyup', function(e) {
             // 
               if((e.which >= 48 && e.which <= 57) ||
                       (e.which >= 96 && e.which <= 105 )){
                    // 
                    var caret = this.selectionStart
                    // value
                    var value = this.value
                    // 
                    var sp =  (value.slice(0, caret).match(/\s/g) || []).length
                    // 
                   var nospace = value.replace(/\s/g, '')
                   // 
                   var curVal = this.value = nospace.replace(/(\d{4})/g, "$1 ").trim()
                   // 
                   var curSp = (curVal.slice(0, caret).match(/\s/g) || []).length
                  // 
                 this.selectionEnd = this.selectionStart = caret + curSp - sp
               
                }
            })
        })
    </script>
</body>

</html>

좋은 웹페이지 즐겨찾기