vue输入金额,仅输入数字并且保留两位小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue输入金额,仅输入数字并且保留两位小数相关的知识,希望对你有一定的参考价值。

参考技术A Vue.directive('Money',

inserted: function (el)

const input = el.querySelector('.el-input__inner');

        input.onkeyup=function(e) 

input.value=input.value.replace(/[^\d\.]/g,'')

input.value=input.value.replace(/^\./g,'')

input.value=input.value.replace(/\.2,/g,'.')

input.value=input.value.replace(/\.2,/g,'.')

input.value=input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')

input.value=input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')

input.value=input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')

if(input.value=='00')//输入 000000 时,转成0

                input.value=0

           



input.onblur=function(e) 

input.value=input.value.replace(/[^\d\.]/g,'')

input.value=input.value.replace(/^\./g,'')

input.value=input.value.replace(/\.2,/g,'.')

input.value=input.value.replace(/\.2,/g,'.')

input.value=input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')

input.value=input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')

input.value=input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')

if(input.value=='0')//输入0的时候转成空    或者可自行调节   0.00  看需求

                input.value=''

           

if(input.value.split('.')[1]=='')//把 123. 的数据转成123

                input.value=input.value.split('.')[0]



if(input.value.substr(0,1)=="0"&&input.value.substr(1,1)!=".")//把  0123456 的数据转成123456

                input.value=input.value.substr(1,input.value.length-1)





)

以上是关于vue输入金额,仅输入数字并且保留两位小数的主要内容,如果未能解决你的问题,请参考以下文章

vue element组件库<el-input>限制只能输入数字,且保留小数后两位

js正则表达式 只能支持小数点到两位小数和纯数字 0.01-99999999(大于0)

js校验输入0-1之间的小数,最多保留小数点后两位

JS正则表达式,限制输入数字,且小数点保留两位

ios开发怎么限制textfiled只输入数字和小数点,有小数时保留两位小数

python 如何输入小数