0

我的 html 页面中有文本框,我想在小数点前后接受 2 位数字。我怎样才能在 html 或 javascript 中做到这一点?

样本值为:

02.50
10.25
00.00

代码:

function inputControl(input,format)
{
    var value=input.val();
    var values=value.split("");
    var update="";
    var transition="";
    if (format=='int'){
        expression=/^([0-9])$/;
        finalExpression=/^([1-9][0-9]*)$/;
    }
    else if (format=='float')
    {
        var expression=/(^\d+$)|(^\d+\.\d+$)|[,\.]/;
        var finalExpression=/^([1-9][0-3]*[,\.]?\d{0,2})$/;
    }   
    for(id in values)
    {           
        if (expression.test(values[id])==true && values[id]!='')
        {
            transition+=''+values[id].replace(',','.');
            if(finalExpression.test(transition)==true)
            {
                update+=''+values[id].replace(',','.');
            }
        }
    }
    input.val(update);
}

http://jsfiddle.net/8Uuvb/39/

4

1 回答 1

0

在分割每个数字和小数的状态下,您可以尝试如下:

//1st Make value to string:
value = value.toString();

//2nd Split the digit and decimal:
var values=value.split(".");

//3rd Getting Digit & Decimal in String Form & converting back to integer
var Digit = Number(values[0]);
var Decimal = Number(values[1]);

参考:

  1. 将字符串转换为数字:点击这里
  2. 将数字转换为字符串:点击这里
于 2012-06-11T02:42:38.290 回答