js实现input中输入数字每四位加一个空格

键盘各按键对应的数字

keycode 8 = BackSpace | keycode 9 = Tab   | keycode 12 = Clear
keycode 13 = Enter   | keycode 16 = Shift  | keycode 17 = Control
keycode 18 = Alt    | keycode 19 = Pause  | keycode 20 = CapsLock
keycode 27 = Escape   | keycode 32 = Space  | keycode 33 = Prior
keycode 34 = Next    | keycode 35 = End   | keycode 36 = Home
keycode 37 = Left    | keycode 38 = Up   | keycode 39 = Right
keycode 40 = Down    | keycode 41 = Select | keycode 42 = Print
keycode 43 = Execute   | keycode 45 = Insert | keycode 46 = Delete
keycode 47 = Help    | keycode 48 = 0    | keycode 49 = 1
keycode 50 = 2     | keycode 51 = 3    | keycode 52 = 4
keycode 53 = 5     | keycode 54 = 6    | keycode 55 = 7
keycode 56 = 8     | keycode 57 = 9    | keycode 65 = A
keycode 66 = B     | keycode 67 = C    | keycode 68 = D
keycode 69 = E     | keycode 70 = F    | keycode 71 = G
keycode 72 = H     | keycode 73 = I    | keycode 74 = J
keycode 75 = K     | keycode 76 = L    | keycode 77 = M
keycode 96 = KP_0    | keycode 97 = KP_1  | keycode 98 = KP_2
keycode 99 = KP_3    | keycode 100 = KP_4  | keycode 101 = KP_5
keycode 102 = KP_6   | keycode 103 = KP_7  | keycode 104 = KP_8
keycode 105 = KP_9   | keycode 78 = N    | keycode 79 = O
keycode 80 = P     | keycode 81 = Q    | keycode 82 = R
keycode 83 = S     | keycode 84 = T    | keycode 85 = U
keycode 86 = V     | keycode 87 = W    | keycode 88 = X
keycode 89 = Y     | keycode 90 = Z    | keycode 112 = F1
keycode 113 = F2    | keycode 114 = F3   | keycode 115 = F4
keycode 116 = F5    | keycode 117 = F6   | keycode 118 = F7
keycode 119 = F8    | keycode 120 = F9   | keycode 121 = F10
keycode 122 = F11

96到105是小键盘数字键!48到57是大键盘的数字键!

注意:上面的键盘代码是keydown或者keyup按下的代码!是按键的映射代码。

keypress键盘按下去有些是不一样的!因为keypress是输入字符的Unicode。

感兴趣的可以去测试一下:

 onkeypress - onkeydown -

实现方法一

    !function () {
        $('#haorooms').on('keyup mouseout input',function(e){
       if((e.which >= 48 && e.which = 96 && e.which <= 105 )){
            var $this = $(this),
                v = $this.val();
            /\S{5}/.test(v) && $this.val(v.replace(/\s/g,'').replace(/(.{4})/g, "$1 "));
         }
        });
    }();

   
上面的方式我们可以用js来实现,代码如下:

!function () {
    document.getElementById('haorooms').onkeyup = function (event) {
      if((event.which >= 48 && event.which = 96 && event.which <= 105 )){
        var v = this.value;
        if(/\S{5}/.test(v)){
            this.value = v.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
        }
      };
   }
}();

方法一解释

我们可以这么写!

(function(){

})()

当然也可以如下写:

!function(){}();
+function(){}();
-function(){}();
~function(){}();
~(function(){})();
void function(){}();
(function(){}());

方法二

另外一种方法可以如下写:

$(function() {
    $('#haorooms').on('keyup', function(e) {
     //只对输入数字时进行处理
       if((e.which >= 48 && 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
        }
    })
})
$(function() {})这个是$(document).ready(function(){})的简写!

总结:

第一种方法,当数字输入的时候,前面所有的输入,包括字母都会切分成4个一个空格,但是第二种方法,假如后面输入的是数字,只有当前输入数字才会被加入空格!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索测试
, 代码
control
input禁止输入空格、input不能输入空格、input 不允许输入空格、js input不能输入空格、js input禁止输入空格,以便于您获取更多的相关知识。

时间: 2024-07-31 12:40:46

js实现input中输入数字每四位加一个空格的相关文章

js 限制input只能输入数字、字母和汉字等等

 js 限制input只能输入数字小数点也不能输入或者是只能输入数字,能输小数点等等,本文大致整理了一些,感兴趣的朋友可以收藏下 代码如下: <input type="text"onKeyUp="this.value=this.value.replace(/[^.d]/g,'');if(this.value.split('.').length>2){this.value=this.value.split('.')[0]+'.'+this.value.split('

js 限制input只能输入数字、字母和汉字等等_javascript技巧

复制代码 代码如下: <input type="text"onKeyUp="this.value=this.value.replace(/[^\.\d]/g,'');if(this.value.split('.').length>2){this.value=this.value.split('.')[0]+'.'+this.value.split('.')[1]}"> 1.文本框只能输入数字代码(小数点也不能输入) 复制代码 代码如下: <i

js限制input只能输入数字代码

提示:您可以先修改部分代码再运行 提示:您可以先修改部分代码再运行

ios 给textField每四位添加一个空格

#pragma mark - UITextFieldDelegate - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField == _cardTextField) { // 四位加一个空格 if ([string isEqualToString:@""]) { /

js input只能输入数字(兼容IE和Firefox)正则

文章收藏了一款关于js input只能输入数字(兼容ie和firefox)正则,前面二款是网上找的但好像不怎么支持ie,firefox正则,后来一款是超漂亮的兼容多浏览的正则方法哈. 只能输入数字 <input onkeyup="value="/value.replace(/["^d]/g,'') "onbeforepaste="clipboarddata.setdata('text',clipboarddata.getdata('text').re

四款js 文本框只能输入数字

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>只允许输入数字和回车的多行文本框js 代码

js清除input中type等于file的值域

 本篇文章主要介绍了js清除input中type等于file的值域(示例代码) 需要的朋友可以过来参考下,希望对大家有所帮助 如下所示; var objFile = document.getElementById('fileID'); objFile.outerHTML=objFile.outerHTML.replace(/(value=").+"/i,"$1"");     

excel表中输入数字很慢的解决方法

  excel表中输入数字很慢(输完数字,要等很久),字母.汉字都没问题. 在excel表中的某一个单元格里输入数字,要等很久,excel才有反应,输入字母和汉字及其它字符正常. 原因不明,直接说解决方法: 首选,全选这个有问题的excel表,然后选择复制.接着现新建一个excel表,右击A1单元格,然后选择"选择性粘贴"一定要选择"选择性粘贴"这一步很重要.接着在弹出的菜单里,选择"边框除外",然后按确定.之后,再重新添加边框即可. 如果,选择

js 正则表达式 判断只能输入数字或者一位小数

问题描述 js 正则表达式 判断只能输入数字或者一位小数 js 正则表达式 判断只能输入数字或者一位小数 就是判断输入的是否是数字或者是小数 如果是小数只能树一位小数 解决方案 ^[0-9]+([.][0-9]{1}){0,1}$ 解决方案二: ^(-)d+(.d)$ 解决方案三: ^(d+.d{1,1}|d+)$ 解决方案四: (/[^- d.]/g