前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过正则表达式限制输入框只能数字,且不能以0开头

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

原创
作者头像
Java旅途
修改2020-07-13 14:15:24
4.7K0
修改2020-07-13 14:15:24
举报
文章被收录于专栏:Java旅途Java旅途

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

代码语言:txt
复制
var value = val.replace(/\D/g, '')

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

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

代码语言:txt
复制
 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的代码功能与上面相同。

代码语言:txt
复制
<!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>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档