在三个字符后插入破折号-Google Chrome移动问题

时间:2018-11-20 19:42:59

标签: javascript jquery

我正在尝试创建一个脚本,该脚本将在第三个字符后自动添加破折号。用户只能在输入字段中添加一个破折号。如果用户使用退格键,则不应再次添加破折号。

QWE   <- user write three letters
QWE-  <- dash comes automatically

这在Chrome桌面(70.0.3538.102)上正常运行。但是在Google Chrome移动版(70.0.3538.110)上,当用户使用退格键时,连字符不会被删除。是否还有其他跨浏览器替代品具有相同的最终结果?

$( document ).ready(function() {

    $('#text').on('keyup', function() {
    
            var key = event.keyCode || event.charCode;
        
            if(key == 8 || key == 46) {
                // do nothing
            }
        
            else {
        
                if((this.value.length == 3)) {
                    $(this).val($(this).val() + "-"); 
                }
        
                if (this.value.replace(/[^-]/g, "").length > 1) {
                    $(this).val($(this).val().slice(0, -1));              
                }            
            }
    
        });
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text">

0 个答案:

没有答案