vue3 输入框限制输入只能数字并保留两位小数
需求是输入框输入只能输入5位数并且保留两位小数,最大不超过99999,好久没有写过前端,一个方法连搜带问写了两个小时,记录一下输入框<inputv-model="xxxxxx"type="text"@input="valueChange"/>方法const valueChange = (e : any) => {console.log('=
·
需求是输入框输入只能输入5位数并且保留两位小数,最大不超过99999,好久没有写过前端,一个方法连搜带问写了两个小时,记录一下
输入框
<input
v-model="xxxxxx"
type="text"
@input="valueChange"
/>
方法
const valueChange = (e : any) => {
console.log('=====', e.detail.value);
let value = e.detail.value;
value = value.replace(/[^\d.]/g, '');
value = value.replace(/^\./g, '');
value = value.replace(/\.{2,}/g, '.');
value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
value = value.replace(/^(-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
if (value.length > 8) {
value = value.substring(0, 8);
}
if (value > 99999) {
value = '99999';
}
setTimeout(() => {
xxxx = value;
});
}
记得加上setTimeout 不然可能页面和变量的值不同步显示.
更多推荐
已为社区贡献1条内容
所有评论(0)