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')"  
    />  


     


    作者:水木    
     
  • 相关阅读:
    美化滚动条
    js 格式转化
    vue 实现 前端生成随机验证码
    Vue.js CLI4 Vue.config.js标准配置
    在鼠标右键 新建 添加md文件
    节流和防抖
    关于IE 浏览器 GET 请求缓存问题
    VSCode 背景插件
    Java后台开发Tomcat添加https支持小程序开发过程
    InnoDB与MyISAM等存储引擎对比
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1629291.html
Copyright © 2011-2022 走看看