zoukankan      html  css  js  c++  java
  • 文本框 价格 保留两位小数 讨论

    不知道大家是怎么实现的?

    1,用js控制的话,在firefox下面可以输入多位小数,

    2,如果用正则表达式控制的话。

     onkeypress="if(/[-]?\.\d\d$/.test(value))event.returnValue=false"

    这样写,在firefox下也是错误的。

    太郁闷了。

    大家给点建议吧,最好能用能用正则表达式在IE,FF下兼容

    有人说用match匹配,不用test匹配,会在FF下显示正确,可是试过了,也不能用,

    期待大家的解法

    网上好多都是错的,真的是错误满天飞呀,

    还有一个,是这样写的,也不敢保证是对的 ^(([0-9]+\.[0-9]{2})|([0-9]*[1-9][0-9]*))$  

    2. ^(([1-9]\d*)|0)(\.\d{2})?$

    转一下别人写的

    function isTriDecimal(value){   
                    if(value!=null&&value!=''){   
                        var decimalIndex=value.indexOf('.');   
                        if(decimalIndex=='-1'){   
                            return false;   
                        }else{   
                            var decimalPart=value.substring(decimalIndex+1,value.length);   
                            if(decimalPart.length>2){   
                                return true;   
                            }else{   
                                return false;   
                            }   
                        }   
                    }   
                    return false;   
                }    <<SPAN class=hilite1>input</SPAN> name="sumAdjust" type="text" id="sumAdjust" size="20" value='<c:out value="${form1.sumAdjust}" />'        onkeyup="if(isNaN(value)||isTriDecimal(value))execCommand('undo')"       onafterpaste="if(isNaN(value)||isTriDecimal(value))execCommand('undo')"   />  
    function isTriDecimal(value){   
                    if(value!=null&&value!=''){   
                        var decimalIndex=value.indexOf('.');   
                        if(decimalIndex=='-1'){   
                            return false;   
                        }else{   
                            var decimalPart=value.substring(decimalIndex+1,value.length);   
                            if(decimalPart.length>2){   
                                return true;   
                            }else{   
                                return false;   
                            }   
                        }   
                    }   
                    return false;   
                }   
      
    <<SPAN class=hilite1>input</SPAN> name="sumAdjust" type="text" id="sumAdjust" size="20" value='<c:out value="${form1.sumAdjust}" />'    
        onkeyup="if(isNaN(value)||isTriDecimal(value))execCommand('undo')"    
        onafterpaste="if(isNaN(value)||isTriDecimal(value))execCommand('undo')"  
    />  


     


    作者:水木    
     
  • 相关阅读:
    03 . 前端之JavaScipt
    01 . 前端之HTML
    14 . Python3之MysSQL
    13 . Python3之并发编程
    01 . 消息队列之(Kafka+ZooKeeper)
    01 . 分布式存储之FastDFS简介及部署
    03 . Redis集群
    02 . Redis哨兵
    01 . RabbitMQ简介及部署
    01 . Redis简介及部署主从复制
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1629291.html
Copyright © 2011-2022 走看看