<template>
<div class="content">
<input
type="text"
placeholder="请输出数字"
class="input-area"
v-model.trim="tonnage"
maxlength="50"
@input="dealInputVal(tonnage)"
/>
</div>
</template>
<script>
export default {components: {},
data() {
return {tonnage: '',}
},
mounted() {},
methods: {dealInputVal(num) {
// 最大 3 位整数,一位小数; 100 非法,100.1 非法,1000 不非法,100.11 不非法
this.tonnage = num
.replace(/[^\d.]/g, '')
.replace(/\.{1,}/g, '.')
.replace(/^(0(0)+|\.)/g, '')
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
.replace(/^(-)*(\d+)\.(\d).*$/, '$1$2.$3')
if (parseInt(this.tonnage) >= 1000) {this.tonnage = '999'}
}
}
}
</script>
<style lang="less" scoped></style>