我有插件。您可以在以下位置看到演示:
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/