原本小程序需要一个限制文本框输入为数字,且最多保留2位小数的效果,网上找到的例子感觉有点繁琐,就自己写了一个。
代码很简单,主要借助了正则的组匹配特性进行处理:
//检查输入文本,限制只能为数字并且数字最多带2位小数 checkInputText: function(text){ var reg = /^(\.*)(\d+)(\.?)(\d{0,2}).*$/g; if (reg.test(text)) { //正则匹配通过,提取有效文本 text = text.replace(reg, '$2$3$4').replace(/^0+/, '0'); } else { //正则匹配不通过,直接清空 text = ''; } return text; //返回符合要求的文本(为数字且最多有带2位小数) }
1、用在小程序上的示例Demo:
*.wxml文件代码:
<view class='row'>
<view class="title">文本输入限制输入数字,且最多带2位小数</view>
<input type='digit' placeholder='请输入有效数字' bindinput='inputNum' class='numInput'/>
</view>