input 保留两位小数 并且只能有一个小数点
Posted 秋苏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了input 保留两位小数 并且只能有一个小数点相关的知识,希望对你有一定的参考价值。
1.适用于uni-app小程序,可简单改造成源生小程序版
2.限制整数位只能为0-9999之间的数字
3.最多两位小数
4.首位为小数点时,变成0.
5.只能输入一个小数点
<template> <input class="inputPrice" :maxlength="maxLength" type="digit" v-model="currentPrice" @input="checkPrice"> </template> <script> export default { data() { return { maxLength: 5, currentPrice: ‘‘ } }, methods: { checkPrice: function(e) { let that = this; let price = e.detail.value let maxLength = price.indexOf(‘.‘); if (price.indexOf(".") < 0 && price != "") { //‘超过4位则大于1万元‘ if (price.length > 4) { price = price.substring(0, price.length - 1) uni.showToast({ title: ‘金额最高不能超过1万元‘, icon: ‘none‘ }) } else { price = parseFloat(price); } } else if (price.indexOf(".") == 0) { //‘首位小数点情况‘ price = price.replace(/[^$#$]/g, "0."); price = price.replace(/\.{2,}/g, "."); } else if (!(/^(\d?)+(\.\d{0,2})?$/.test(price))) { //去掉最后一位 price = price.substring(0, price.length - 1) } that.$nextTick(function() { //‘有小数点时,最大长度为7位,没有则是5位‘ that.maxLength = maxLength == -1 ? 5 : 7 that.currentPrice = price }) } } } </script>
以上是关于input 保留两位小数 并且只能有一个小数点的主要内容,如果未能解决你的问题,请参考以下文章
js正则限制input框输入只能输入大于0的整数或者保留两位数的小数
vue element组件库<el-input>限制只能输入数字,且保留小数后两位