我有插件。 您可以在以下位置查看演示: http://jsfiddle.net/nangvabien/8Uuvb/
如果小数点分隔符 = ","或 "." ,则用户在文本框中输入:1000000,,,,...5 --> 格式:< em>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/
关于jquery - 如何让文本框中只允许有一个小数点分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9365285/