jquery - 如何让文本框中只允许有一个小数点分隔符?

标签 jquery jquery-plugins number-formatting

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

相关文章:

jquery-plugins - 替代qTip(jQuery工具提示插件)

python - 如何在 python 中以长的、漂亮的圆角和本地化格式打印任何 float ,例如 1.234e22?

java - 将图像保存到桌面

javascript - 在 jQuery 中,如果我不能使用 'this' ,如何从属性中获取 id ?

jquery-plugins - 需要 jquery.tokeninput

jquery - 使用 jQuery 和正则表达式在数字输入中使用千位分隔符

python - 如何使用逗号作为千位分隔符打印数字

javascript - 单击事件未触发 - 在一个实例中有效,但在另一个实例中无效?

javascript - 在 javascript 中生成和下载文本文件

javascript - 如果我将一个 JavaScript 事件绑定(bind)到一个元素,然后删除该元素,该事件会发生什么?