input框只能输入非负数

本文介绍了一种通过JavaScript实现的简单方法,确保用户在输入框中只能够输入非负数,包括整数和小数。该方法通过两步实现:首先去除多余的输入小数点,其次确保输入内容仅包含数字或小数点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. //通过2步做到输入的为非负数  
  2. //1.去掉多余的小数点  
  3. //2.保证只能输入小数点或数字  
  4. function onlyNonNegative(obj) {  
  5.  var inputChar = event.keyCode;  
  6.  //alert(event.keyCode);  
  7.    
  8.  //1.判断是否有多于一个小数点  
  9.  if(inputChar==190 ) {//输入的是否为.  
  10.   var index1 = obj.value.indexOf(".") + 1;//取第一次出现.的后一个位置  
  11.   if(index1==1){//如果第一个值就是点
    obj.value = obj.value.replace(/[^\d]/g,'')
      }
  12.   var index2 = obj.value.indexOf(".",index1);  
  13.   while(index2!=-1) {  
  14.    //alert("有多个.");  
  15.      
  16.    obj.value = obj.value.substring(0,index2);  
  17.    index2 = obj.value.indexOf(".",index1);  
  18.   }  
  19.  }  
  20.  //2.如果输入的不是.或者不是数字,替换 g:全局替换  
  21.  obj.value = obj.value.replace(/[^\d.]/g,'');  

  1. }  


调用方法:

<input type="text" name="number" onkeyup="onlyNonNegative(this)" />


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值