• 文本框 价格 保留两位小数 讨论


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

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


     


    作者:水木    
     
  • 相关阅读:
    2017《Java技术》预备作业 计科1501 杨欣蕊
    Java技术预备作业02杨欣蕊
    系统无法从光盘启动
    动态数组ArrayList的使用
    dbgrid数据显示和数据源不同
    异步任务判断服务器是否开启
    Java字符串格式化
    思科2960 监听端口设置
    64位win7安装jdk和eclipse
    Delphi临界区的使用
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1629291.html
Copyright © 2020-2023  润新知