Javascript:在按键时验证只有十进制数字的数字

时间:2014-07-02 12:36:03

标签: javascript

我们如何验证输入的数字只接受两个二进制数字?比如,如果我输入“12345.655”,它应该在“12345.65”之后停止接受数字。

如果我在dot之前输入数字,它应该接受数字。

请建议一种方式。

感谢。

3 个答案:

答案 0 :(得分:0)

假设你有这样的输入:

<input type="text" onKeyUp="this.value=check(this.value)">

您可以使用此javascript:

function check(num){

    num=num.replace(/([A-Za-z])/g,"");
    if(String(num).split(".").length>1&&String(num).split(".")[1].length>2){
        num=String(num).slice(0, 2-String(num).split(".")[1].length);
    }
    return num;
}

JSFIDDLE

答案 1 :(得分:0)

让我们说你的输入元素是el,然后是

el.onchange = function(){

    if( parseFloat( el.value )*1000 % 10 != 0 ){ el.value = el.value.slice( 0, -1 ) }

}

答案 2 :(得分:0)

这应该适合你: -

HTML

<input type="text" id="number" onkeyup="fixDecimal()"/>

的Javascript

function fixDecimal(){
    var value = document.getElementById('number').value;
    if(value.split('.')[1] && value.split('.')[1].length > 2){
        var number = parseFloat(value);
        document.getElementById('number').value = number.toFixed(2);    
    }
}