如何控制文本框中只可输入两位小数的数字?
注意不是输完后check,而是输的时候如果输字母,文本框中不会出现字母
下面是只可输入两位数字的例子,但带小数点的不会
<input type="text" maxlength="2" onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

解决方案 »

  1.   


    $(document).ready(function(){
        $("#test").blur(function(){
     var value = $(this).val();
             if(!isNaN(value)&& (value.length < 3)){
        alert("yes");
     }else{
        alert("no");
     }
    });
    });html:<input type="text" id="test" />我用的jquery
      

  2.   

    别都写在input里面
    去写一个函数,让keyup和paste事件都指向这个函数
    在函数里判断你的规则,再改变的你value
      

  3.   


    $(document).ready(function(){
        $("#test").blur(function(){
     var value = $(this).val();
     var length = $(this).val().length;
     var first = value.indexOf(".");//判断第一个小数点所在位置
     var last = value.lastIndexOf(".");//判断最后一个小数点所在的位置
     var temp_length = value.split(".").length - 1;//含有.的个数
     if(!isNaN(value) && (temp_length == 1) && (first==last) && (length - last ==3) ){
     alert("yes");
     }else{
        alert("no");
     }
    });
    });刚才看错了
      

  4.   

    1、判断输入的是不是数字(建议用onchange事件判断每一个输入的字符)
    2、判断是否有小数点(且只有一个)
    3、判断小数点后有几个字符(lastInexOf)
    这种方法可以实现,但很麻烦
    楼主最好在onchange触发时用正则匹配输入框中的字符串
      

  5.   

    onkeydown='if((keyCode>57 ||keyCode<48)&&keyCode!=46) return false'
      

  6.   

    那还鸟个两位小数控制,输个'http:\\bbs.csdn.net‘还有小数啊.
      

  7.   

    function check1(obj)
    {
    var v = obj.value;
    var reg = /^\d*\.(\d{2})$/gi;
    if (reg.test(obj.value))
    {
    return false;
    }
    return true;
    }
    function check2(obj)
    {
    var v = obj.value;
    obj.value = v.replace(/[^\d\.]/g,'')
    }<input type="text" onkeypress="return check1(this);" onkeyup="check2(this);"/>
      

  8.   


    <input type="text" onkeyup="this.value=/^\d+\.?\d{0,2}$/.test(this.value) ? this.value : ''">
      

  9.   

    function myNumberic(e,len) {
    var obj=e.srcElement || e.target;
    var dot=obj.value.indexOf(".");//alert(e.which);
    len =(typeof(len)=="undefined")?2:len;
    var  key=e.keyCode|| e.which;
    if(key==8 || key==9 || key==46 || (key>=37  && key<=40))//这里为了兼容Firefox的backspace,tab,del,方向键
    return true;
    if (key<=57 && key>=48) { //数字
    if(dot==-1)//没有小数点
    return true;
    else if(obj.value.length<=dot+len)//小数位数
    return true;
    } else if((key==46) && dot==-1){//小数点
    return true;
    }        
    return false;
    }<input type="text" id="ttext" class="ime" onkeypress="return myNumberic(event)" />
    .ime  {ime-mode:disabled;}
      

  10.   

    根据各位的答案我整理出了我要的答案,如下
    function checknum(obj)
    {   if(/^\d+\.?\d{0,2}$/.test(obj.value)){
           obj.value = obj.value;
        }else{
       obj.value = obj.value.substring(0,obj.value.length-1);
    }
       
    }
    <input type="text" onkeyup="checknum(this);"/>