input框输入金额完美交互

Posted 诸葛小觉の博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了input框输入金额完美交互相关的知识,希望对你有一定的参考价值。

交互内容:

输入前显示“0.00”
移入后如果是“0.00”则清空内容
移入后如果是“*.00”则去除后面的“.00”以方便填写
移入后如果是“*.*0”则优化成“*.*”,即去掉最后面的“0”以方便填写
什么都没写移出后又再次填充“0.00”
只能输入数字和小数点
仅能输入一个小数点
仅保留后面两个小数点

 1 <div class="mui-input-row">
 2     <label>金额<span>(元)</span></label>
 3     <input type="tel" class="capital mui-input-clear" value="0.00">
 4 </div>
 5 
 6 <style>
 7 *{
 8     font-family:‘microsoft yahei‘;
 9     height:30px;
10     line-height:30px;
11 }
12 input{
13     width:100px;
14     border-radius:.3em;
15     border:1px solid #ccc;
16     padding-left:.5em;
17     margin-left:.3em;
18 }
19 </style>
20 
21 <script>
22 /*投资本金仅能输入数字和小数点*/
23 var precapital;
24 document.querySelector(.capital).addEventListener(focus, function() {
25     if (this.value == 0.00) {
26         this.value = ‘‘;
27     } else {
28         this.value = this.value.replace(/\.00/, ‘‘).replace(/(\.\d)0/,$1);
29     }
30     precapital = this.value;
31 });
32 document.querySelector(.capital).addEventListener(keyup, function() {
33 
34     this.value = this.value.replace(/^[\.]/, ‘‘).replace(/[^\d.]/g, ‘‘);
35     if (this.value.split(".").length - 1 > 1) {
36         this.value = precapital;
37     }
38     precapital = this.value;
39 });
40 document.querySelector(.capital).addEventListener(blur, function() {
41     this.value = this.value.replace(/[\.]$/, ‘‘);
42     this.value = Number(this.value).toFixed(2);
43 });
44 </script>

 

请使用手机"扫一扫"x

以上是关于input框输入金额完美交互的主要内容,如果未能解决你的问题,请参考以下文章

input框输入金额限制

input框 限制只能输入金额(-.数字)

jquery 实时监听输入框值变化的完美方案

iOS “金额” 输入框的设置

input 两个input框只能允许同时输入一个

js实现input输入框只能输入数字的功能(完美测试通过)