js限制输入框只能输入数字(onkeyup触发)

例子:html代码

<input type="text" name="" id="box" />

通常都直接用:

<input type="text" name="" id="box" onkeyup="value=value.replace(/[^\d]/g,'')"/>

以上的缺点是,当你正确输入的是一串数字后,想用光标移动到前面修改其中的一个数字,发现移不动,所以就显示了下面的方法的好处

其实加个if更加和谐:

$('input#box').keyup(function(){
   var c=$(this);
   if(/[^\d]/.test(c.val())){//替换非数字字符
    var temp_amount=c.val().replace(/[^\d]/g,'');
    $(this).val(temp_amount);
   }
   })

上面的函数使用了jquery的选择器,大家注意别忘了需要加载jquery。jquery下载

更多的功能可以参考这篇文章:js限制文本框只能输入数字方法小结

(0)

相关推荐

  • 『JavaScript』限制Input只能输入数字实现思路及代码

    这玩意很多人写过,但是今天临时要用的时候找不到符合需求的,所以立马来写一个,既然都写完了而且还满符合需求的就放上来让大家鞭一鞭. 需求很简单,一个文字方块必须限制只能输入数字(或是小数点)并且要支援 IE 和 Firefox. HTML的 Input 是这样下滴 复制代码 代码如下: <input type="text" style="ime-mode:disabled" onkeyup="return ValidateNumber($(this),

  • Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)

    把js的验证方法改成angular可使用的方法 AngularJS文件的写法: $scope.clearNoNum = function(obj,attr){ //先把非数字的都替换掉,除了数字和. obj[attr] = obj[attr].replace(/[^\d.]/g,""); //必须保证第一个为数字而不是. obj[attr] = obj[attr].replace(/^\./g,""); //保证只有出现一个.而没有多个. obj[attr] = o

  • 怎么限制input的text里输入的值只能是数字(正则、js)

    当我们在一些网站注册账号.填写信息是,不小心将电话号码填写成汉字或其他英文字母了,这显然是不正确的.为了帮助用户更好地纠正输入时的错误,在表单中填写信息时,需要限制手机号.邮编.电话号码这类文本框不能输入其他字符,只能是数字. 通过使用正则匹配输入的时候只是数字: 复制代码 代码如下: var numRegex = /\D/g 再通过JavaScript的onblur 事件: 定义和用法 onblur 事件会在对象失去焦点时发生. Onblur 经常用于Javascript验证代码,一般用于表单

  • JS input 数字验证代码

    /* **@控制控件只能输入数字,含-(负号).(小数点) **@Inline HTML: <ELEMENT ... onkeypress="javascript:onlyNumber()" style="ime-mode:disabled"> For Input **@Event property: object.attachEvent("onkeypress",onlyNumber);object.style.imeMode =

  • 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('.')[1]}"> 1.文本框只能输入数字代码(小数点也不能输入) 复制代码 代码如下: <i

  • js限制input只能输入有效的数字(第一个不能是小数点)

    第一种方法:通过字符搜索判断等实现,适合功能增强 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/jq.js"></script> </head> <body> <i

  • JS验证input输入框(字母,数字,符号,中文)

    只能输入英文 <input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"> 只能输入英文 <input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="r

  • js限制输入框只能输入数字(onkeyup触发)

    例子:html代码 <input type="text" name="" id="box" /> 通常都直接用: <input type="text" name="" id="box" onkeyup="value=value.replace(/[^\d]/g,'')"/> 以上的缺点是,当你正确输入的是一串数字后,想用光标移动到前面修改其中的

  • angular inputNumber指令输入框只能输入数字的实现

    1.建立一个独立模块用于作为公用指令的模块 1)生成模块 ng g m directive 2)进入指令模块目录 cd directive 3)生成一个只能输入数字的指令类 ng g d numberinput 4)指令模块directive.module.ts代码如下 import { NgModule, ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; imp

  • 让html的text输入框只能输入数字和1个小数点(0-59之间可改)

    text 数字 function check(event) { var e = window.event || event; var target = e.srcElement || e.target; var k = e.keyCode; if(isFunKey(k)) { return true; } var c = getChar(k); if(target.value.length == '' && (c == '-' || c == '+')) { return true; }

  • vue.js实现只能输入数字的输入框

    在菜鸟教程里,看了vue.js的教程,看完后,练练手,就试着实现了只能输入数字的输入框.在之前的博客里,用jquery也实现了这样的功能,这里用vue.js来实现,把实现的过程记录下来 如果只是一个输入框,要实现就非常的简单了,输入框的内容和数据绑定,给数据加一个监听器就可以了,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue</t

  • JS控制只能输入数字并且最多允许小数点两位

    下面通过一段代码给大家介绍JS控制只能输入数字并且最多允许小数点两位,具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" name="

  • JS只能输入数字或数字和字母等的正则表达式

    JS判断只能是数字和小数点 0.不能输入中文 1)<input onpaste="return false;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value=""> 2) 复制代码 代码如下: <script> function chkIt(frm){ if (frm.n1.valu

  • 解析使用js判断只能输入数字、字母等验证的方法(总结)

    JS判断只能是数字和小数点0.不能输入中文1)<input onpaste="return false;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value="">2)<script>function chkIt(frm){if (frm.n1.value.length>0&

  • JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数

    第一: 限制只能是整数 <input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.test(this.value)){alert('只能整数');this.value='';}" /> 如果不是整数就直接alert 第二: 限制是两位的小数 <input type = "text" name= "price&quo

随机推荐