input文本框每4个数字或字母追加空格隔开

按键键码值

键盘事件包含onkeypress onkeydown和onkeyup事件,其中onkeypress事件是在键盘上的某个键被按下并且释放时触发此事件的处理程序,一般用于 键盘上的单键操作。onkeydown事件是在键盘上的某个键被按下时触发此事件的处理程序,一般用于快捷键的操作。onkeyup事件是在键盘上的某个键被按下后松开时触发此事件的处理程序,一般用于快捷键的操作。

按键键值按键键值按键键值按键键值
A65J74S83149
B66K75T84250
C67L76U85351
D68M77V86452
E69N78W87553
F70O79X88654
G71P80Y89755
H72Q81Z90856
I73R83048957
按键键值按键键值按键键值按键键值
0968104F1112F9120
1979105F2113F10121
298*106F3114F11122
399+107F4115F12123
4100Enter108F5116
5101-109F6117
6102.110F7118
7103/111F8119
按键键值按键键值按键键值按键键值
Backspace8Esc27Right Arrow(->)39-_189
Tab9Spacebar32Down Arrow40.>190
Clear12Page Up33Insert45/?191
Enter13Page Down34Delete46`~192
Shift16End35Num Lock144[{219
Control17Home36;:186\220
Alt18Left Arrow37=+187]}221
Cape Lock20Up Arrow38,<188“”222
  <input type="text" id="oTxt1" maxlength="19" onKeyUp="value=value.replace(/[\W]/g,'')">
// 只能输入数字和字母

<script>	
     var oTxt1 = document.getElementById('oTxt1')
	$("input").bind('keyup mouseout input',function (e) {
		// 判断键盘数字和字母的按键
		if((e.which >= 48 && e.which <= 57) || (e.which >= 96 && e.which <= 105 || (e.which >= 65 && e.which <= 90))){
		// 赋值当前值
        var v = this.value;
        // 正则解析值
        if(/\S{5}/.test(v)){
        				//把当前的值4位后追加空格
            this.value = v.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
        }
        // 判断 删除键
    }else if(e.which == 46 || e.which == 8 ){
    	// 获取当前光标的下标方法
        function getIndex(){  
            let cursurPosition=-1;
            if(oTxt1.selectionStart){//非IE浏览器
                cursurPosition= oTxt1.selectionStart;
            }else{//IE
                var range = document.selection.createRange();
                range.moveStart("character",-oTxt1.value.length);
                cursurPosition=range.text.length;
            }
            return cursurPosition
        }
        if (getIndex() % 4 == 0) {  //当前光标的位置在空格的后面
            var $this = $(this),
            v = $this.val();
            v = v.slice(0,getIndex()-1)  //重新获取全部的元素进行-1 然后进行删除 相当于减去了两位数
            if(/\S{5}/.test(v)){ 
                this.value = v.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
            }
        }else{  //否则正常删除
            var $this = $(this),
            v = $this.val(); 
            if(/\S{5}/.test(v)){
                this.value = v.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
            }
        }
	
	})
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值