我有插件。您可以在以下位置看到演示:
http://jsfiddle.net/nangvabien/8Uuvb/

如果小数点分隔符=“,”或“。” ,用户在文本框中输入的内容:1000000 ,,, ... 5->格式:1.000.000,5或12300000。,, .. 5->格式12,300,000.5

我只想使用小数点分隔符。请帮助我改善插件FormatNummer。

最佳答案

我做了一些可能对您有帮助的事情:
Live control a float input with a regex mask

$('.numeric_input').live("keyup",function(){inputControl($(this),'int');});
$('.float_input').live("keyup",function(){inputControl($(this),'float');});

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-9]*[,\.]?\d{0,3})$/;
    }
    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/1/

09-25 16:22