1. 在 JS 中
<input type="text" name="je" onkeyup="onlyNum(this)" />元
function onlyNum(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); // 清除“数字”和“.”以外的字符
obj.value = obj.value.replace(/\.{2,}/g,"."); // 只保留第一个. 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); // 只能输入两个小数
if(obj.value.indexOf(".")< 0 && obj.value !=""){ // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
obj.value= parseFloat(obj.value);
}
if (obj.value > 100) { // 不超过100
obj.value = 100
}
}
2. 在小程序中同样可以使用,如以下所示
-
在工具类中,抽取为公共方法
image.png -
在需要使用的 .wxml 中,绑定 input 事件和 value 值
image.png 在需要使用的 .js 中
// 导入util
const util = require('../../utils/util.js');
// 动态获取 input 值,从 input 绑定的值都在 e.detail 里面
getInput(e) {
util.onlyNum(e.detail)
this.setData({
telValue: e.detail.value
})
},

