Vue限制输入框内容只能输入金额或数字

奎奎网络
2022-08-14 / 0 评论 / 5 阅读 / 正在检测是否收录...
<template>
    <input @input="formatValue(value)" v-model="value">
</template>

<script>
    export default = {
        data(){
            return {
                value: ""
            }
        },
        methods:{
            // 只允许输入数字,其他一律不允许输入
            formatValue(val){
                this.value = this.value.replace(/[^\d]/g, "")
            },

            // 只允许输入金额类型,最大两位小数(如:3.88)
            formatValue(val){
                val = val.replace(/(^\s*)|(\s*$)/g, "");
                if (!val) return this.value = "";
                val = val.replace(/[^\d.]/g, "");
                val = val.replace(/^\./g, "");
                val = val
                    .replace(".", "$#$")
                    .replace(/\./g, "")
                    .replace("$#$", ".");
                val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3");
                this.value = val;
            },
        }
    }
</script>
0

评论 (0)

取消