米德

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1   function changeFourDecimal(x) {
 2                 var f_x = parseFloat(x);
 3                 if(x==""){
 4                     return "";
 5                 }
 6                 if (isNaN(x)) {
 7                      parent.layer.confirm("格式错误", {
 8                             btn : ["确定"], //按钮
 9                             shade : [ 0.8, '#393D49' ]
10                             //不显示遮罩
11                                 }, function(index) {
12                                     parent.layer.close(index);
13 
14                                 });
15                     return "";
16                 }
17                
18                 var s_x = x.toString();
19                 var pos_decimal = s_x.indexOf('.');
20                 //输入的是整数
21                 if (pos_decimal < 0) {
22                        //整数部分超过6位
23                     if(s_x.length > 6){
24                         parent.layer.confirm("汇率过大", {
25                             btn : ["确定"], //按钮
26                             shade : [ 0.8, '#393D49' ]
27                         //不显示遮罩
28                                 }, function(index) {
29                                     parent.layer.close(index);
30 
31                                 });
32                     return "";
33                     }
34                     //补小数点
35                     pos_decimal = s_x.length;
36                     s_x += '.';
37                     
38                 }
39                 //输入的不是整数
40                 if(pos_decimal> 6){
41                         parent.layer.confirm("汇率过大", {
42                             btn : ["确定"], //按钮
43                             shade : [ 0.8, '#393D49' ]
44                         //不显示遮罩
45                                 }, function(index) {
46                                     parent.layer.close(index);
47 
48                                 });
49                     return "";
50                 }
51                 //小数部分 超过4位 取前4位
52                 if (s_x.length > pos_decimal + 4) {
53                     s_x = s_x.substring(0,pos_decimal+5);
54                 }
55                 //自动补全至小数点后四位
56                 while (s_x.length <= pos_decimal + 4) {
57                     s_x += '0';
58                 }
59                 return s_x;
60             }

input里面 onkeyup去除非数字 onblur自动补位

onkeyup="this.value=this.value.replace(/[^\d\.]+/g,'')"
onblur="this.value=changeFourDecimal(this.value)"

方法是适用BigDecimal(6,4)的,其他的需要适当修改function

posted on 2018-03-07 17:27  米德  阅读(130)  评论(0编辑  收藏  举报