只有在输入中使用点(不是逗号)浮点值 - jQuery

Ton*_*ght 3 javascript jquery

我想在输入中只使用点(不是逗号)浮点值.

<input type="text" class="dot"> <br />
<input type="text" class="dot"> <br />
<input type="text" class="dot"> <br />

$('.dot').keydown(function(){
        $(this).val($(this).val().toString().replace(/\,/g, '.'));  
})
Run Code Online (Sandbox Code Playgroud)

这将逗号替换为点,但这不应该有> 1点和其他...这应该只接受[0-9]和.

如果我输入的值不同于其他[0-9]和.那么这个值应该删除 - ''.

我该怎么做?

http://jsfiddle.net/ZtkBW/

Tat*_*nit 10

Hiya 演示 http://jsfiddle.net/9Ry9t/ http://jsfiddle.net/ZtkBW/2/ http://jsfiddle.net/HJnLD/

与您的解决方案有所不同,但如果您希望使用此解决方案,则不允许任何characters人在文本框中输入任何内容.

该解决方案对数字进行完全验证,对浮点数进行完全验证(点)

代码示例

$('.number').keypress(function(event) {
    if(event.which < 46
    || event.which > 59) {
        event.preventDefault();
    } // prevent if not number/dot

    if(event.which == 46
    && $(this).val().indexOf('.') != -1) {
        event.preventDefault();
    } // prevent if already dot
});?
Run Code Online (Sandbox Code Playgroud)