请问我怎么限制Text的输入为小数点后只能2位,且不能输入字符。

解决方案 »

  1.   

    正则表达式也可以
    function _MaskInput(oInput, sReg, sInputStr)
    {
    var re = new RegExp(sReg);
    var docSel = document.selection.createRange();
    if(docSel.parentElement().tagName.toLowerCase() != "input")
    return false;
    oSel = docSel.duplicate();
    oSel.text = "";
    var srcRange = oInput.createTextRange();
    oSel.setEndPoint("StartToStart", srcRange);
    var str = oSel.text + sInputStr + srcRange.text.substr(oSel.text.length);
    //alert(str);
    //alert(re.test(str));
    return re.test(str);
    }
    // oInput 你要检查的text, bSign 是否可输入负数 
    //nInt  小数点前的长度, nDec 小数点后的长度
    function _SetDigitalInput(oInput,nInt,nDec,bSign)
    {
    if(typeof(bSign) != "boolean")
    bSign = false;
    oInput.style.imeMode = "disabled";
    var sReg = "^";
    if(bSign)
    sReg += "-?(";
    sReg += "\\\\d{1,"+nInt.toString()+"}";
    if(nDec > 0)
    sReg += "(\\\\.\\\\d{0,"+nDec.toString()+"})?";
    if(bSign)
    sReg += ")?";
    sReg += "$";
    oInput.onkeypress = new Function("return _MaskInput(this,'"+sReg+"',String.fromCharCode(event.keyCode))");
    oInput.onpaste = new Function("return _MaskInput(this,'"+sReg + "',window.clipboardData.getData('Text'))");
    oInput.ondrop = new Function("return _MaskInput(this,'"+sReg + "',event.dataTransfer.getData('Text'))");
      

  2.   

    我这有个简单的方法,用InStr方法.
    例如:If Not IsNumeric(TextBox1.Text) Then
    Response.Write("<script>alert('请输入数字!')</script>")
    end ifdim mm as Integer
    mm=InStr(TextBox1.Text,".")
    If TextBox1.Text.Length-mm>2 then
     Response.Write("<script>alert('格式不正确!')</script>")
    end if
      

  3.   

    function do_view(id)
    {
    var reg=/^[.][0-9]{2}$/;
    if (!reg.exec(document.getElementById(id).value))
    {
    alert("aldsjfl");
    return false;
    }



    return true;
    }
      

  4.   

    <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">