javascript - 使用 jquery 文本框仅允许带点的十进制数字

标签 javascript jquery regex

我有一个文本框。它应该只允许十进制数字,点后只允许两位数字(例如 34545.43)。我们如何使用 jquery 来做到这一点我在 google 和 stackoverflow 中搜索过,但没有满意的答案,因为某些脚本在 chrome 和 firefox 中不起作用。我尝试过,但无法正常工作。所以需要帮助如何做到这一点。 http://jsfiddle.net/S9G8C/1685/

Js:

$('.allow_decimal').keyup(function (evt) {
    var self = $(this);
    self.val(self.val().replace(/[^0-9\.]/g, ''));
    if ((evt.which != 46 || self.val().indexOf('.') != -1) && (evt.which < 48 || evt.which > 57)) {
        evt.preventDefault();
    }
});

最佳答案

这个 jQuery 函数将在文本框的模糊事件上对值进行四舍五入

$.fn.getNum = function() {
    var val = $.trim($(this).val());
    if(val.indexOf(',') > -1) {
        val = val.replace(',', '.');
    }
    var num = parseFloat(val);
    var num = num.toFixed(2);
    if(isNaN(num)) {
        num = '';
    }
    return num;
}
$(function() { //This function will work on onblur event 
    $('#txt').blur(function() {
        $(this).val($(this).getNum());
    });

});
Number: <input type="text" id="txt" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

当用户输入时,您可以直接删除第三位数字。

    var txt = document.getElementById('txtId');
    txt.addEventListener('keyup', myFunc);
    
    function myFunc(e) {
        var val = this.value;
        var re = /^([0-9]+[\.]?[0-9]?[0-9]?|[0-9]+)$/g;
        var re1 = /^([0-9]+[\.]?[0-9]?[0-9]?|[0-9]+)/g;
        if (re.test(val)) {
            //do something here
    
        } else {
            val = re1.exec(val);
            if (val) {
                this.value = val[0];
            } else {
                this.value = "";
            }
        }
    }
    <input id="txtId" type="text"></input>

关于javascript - 使用 jquery 文本框仅允许带点的十进制数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49024726/

相关文章:

c++ - 正则表达式在开头单独匹配单词,或者通过不重复字符串附加到某些内容但在输入末尾

php - 使用正则表达式删除 HTML 标签

javascript - 我应该监听哪些事件以在 JavaScript 中隐藏自定义上下文菜单

javascript - WebSocket 到本地主机在 Microsoft Edge 上不起作用

javascript - 将图像图标从一个导航菜单列表项移动到另一个

javascript - 如何在 Jquery 函数中使用 Angular 4 变量

jquery - 通过点击导航来切换隐藏的div?

javascript - 如何通过 ajax 传递事件/切换类

javascript - 根据搜索词动态变化

java - 从 Clojure 中的字符串解析命令行参数