限制文本框只输入数字并且不能以0开头
有时页面需要限制输入框只能输入数字并且不能以0开头,可以通过以下方式实现
οnkeyup="value=value.replace(/[^\d]/g, '').replace(/^0{1,}/g,'')"
如果允许0开头,则可以不用写上第二个replace
或
<el-form-item label="间隔月份" prop="intervalMonth"> <el-input v-model="where.intervalMonth" placeholder="请输入间隔月份" clearable oninput="value=value.replace(/\D/g,'').replace(/^0{1,}/g,'')" /> </el-form-item>
或
最近在做项目的时候有个需求,输入框输入金额的。这个金额只能是整数,我们都知道金额肯定不能以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>
参考:https://blog.csdn.net/a602049511/article/details/80417076
https://cloud.tencent.com/developer/article/1659522