通过正则表达式限制输入框只能数字,且不能以0开头

本文介绍了一个简单的前端实现方案,用于确保输入框内的金额为非零开头的整数。通过JavaScript代码实现了对用户输入内容的实时监测与修正,适用于小程序及Web端开发。

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

最近在做项目的时候有个需求,输入框输入金额的。这个金额只能是整数,我们都知道金额肯定不能以0开头。

var value = val.replace(/\D/g, '')

上面这行代码的意思是当输入的是除了数字以外的字符时用空代替。这时候我们再进行处理0开头的输入即可。

下面这段是我开发小程序的时候写的,这个numInput当每次输入框的值发生变化的时候就会进入。

 numInput(e) {
    var val = e.detail.value;
    var value = val.replace(/\D/g, '')
    console.log(value);
    if(value != 0){
      console.log(value+"=====val");
      this.setData({
        _num:value,
        value
      })
    }else{
      this.setData({
        value:''
      })
    }
  },

ok,原理基本都相同,不管是开发小程序还是开发web端页面都可以借鉴使用。

补充:写了一段js的代码功能与上面相同。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>输入整数金额</title>
</head>
<body>
    <input type="text" maxlength="8" onkeyup="ceshi(this)" value="" >
<script>
    function ceshi(val) {
        var o = val.value;
        var value = o.replace(/\D/g, '');
		console.log(value+'---value')
		if(value == 0){
			val.value = '';
		}
		if(!value){
            val.value=value;
        } 
    }
</script>
</body>
</html>
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java旅途

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值