HTML去除输入框中数字、小数点、负号以外的字符

在HTML中,有时输入框中只需要数值,通过<input type="number">可以禁止输入框中数字、小数点、负号以外的字符,这相当于数字、小数点、负号以外的字符没有被输入,有时会有其它影响,例如:在嵌入式Web开发中,<--#t-->标识符要在Web页面中显示电压值必须在系统初始化前被输入,否则不能显示电压值。

这个初始状态有<--#t-->标识符,当检测到电压值时,此输入框就是字符+数字的格式,按照如下代码,当电压值小于等于1650时也不能弹出提示框。

<td><input type="text" value="<!--#t-->"oninput="if(value<=1650){alert('asd')};" /> <td>

此时就需要先输入再清除

代码如下:

<td><input type="text" value="<!--#t-->" onkeyup="num(this)" oninput="num(this);if(value<=1650){alert('asd')};" /> <small><span style="font-family: Verdana;">mv</span></small></td>
<script>
	function num(obj){
 obj.value = obj.value.replace("--#t--","a"); //	"--#t--"替换为a
  obj.value = obj.value.replace(/[^\d.-]/g,""); //清除"数字"和".-"以外的字符
  
}
</script>

"num(this)"是此输入框执行function num(obj){}中的功能

  obj.value = obj.value.replace(/[^\d.-]/g,""); //清除"数字"和".-"以外的字符,但是最终得到的值总是负数。在上一行加上obj.value = obj.value.replace("--#t--","a");,把--#t--替换为小写字母a,小写字母也是要清除的字符,#t中多余的负号也被清除。

οnkeyup="num(this)"是手动输入时执行function num(obj){}中的功能,此时,"数字"和".-"以外的字符也可以通过复制粘贴等自动输入方式得到,οninput="num(this)"是手动和自动输入时执行function num(obj){}中的功能,即无论是手动输入还是自动输入都不能得到"数字"和".-"以外的字符。

按照上述代码,当电压值小于等于1650时就会弹出提示框。

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值