如何使用jquery允许12位以上或12位以下的数字只有小数

如何使用jquery允许12位以上或12位以下的数字只有小数,jquery,Jquery,我有一个文本框字段,其中我需要允许18位或少于18位且不超过2位小数(可能是1或2位,但不超过2位)。我如何做到这一点 小数点和小数点前共18位 小数点后两位数 <input type="text" name="Txtpercentage"><br> 您可以这样尝试 $("input[name='Txtpercentage']").on('keydown', function(e) { var key = e.keyCode ? e.keyCode : e.w

我有一个文本框字段,其中我需要允许18位或少于18位且不超过2位小数(可能是1或2位,但不超过2位)。我如何做到这一点

小数点和小数点前共18位 小数点后两位数

<input type="text" name="Txtpercentage"><br>

您可以这样尝试

$("input[name='Txtpercentage']").on('keydown', function(e) {
    var key = e.keyCode ? e.keyCode : e.which;
    //alert(key);
    if (!([8, 9, 13, 27, 46, 110, 190,17,86].indexOf(key) !== -1 ||
            (key == 65 && (e.ctrlKey || e.metaKey)) ||
            (key >= 35 && key <= 40) ||
            (key >= 48 && key <= 57 && !(e.shiftKey || e.altKey)) ||
            (key >= 96 && key <= 105)
        )) e.preventDefault();

            if ($(this).val().length >= 12) {
        var thisVal = $(this).val();
        var valtoIns = thisVal.substring(0, 15);
        $(this).val(valtoIns);
        if (!([8].indexOf(e.keyCode) !== -1)) {
            e.preventDefault();
        }

    }
});
$("input[name='Txtpercentage']").on('keypress', function(e) {
 var regex = /\.\d{2,}/;
 var isTwoDecimal = regex.test($(this).val());
 //alert(isTwoDecimal);
 if(isTwoDecimal){
    e.preventDefault();
 }
});
$(“输入[name='Txtpercentage']”)。在('keydown',函数(e)上{
var key=e.keyCode?e.keyCode:e.which;
//警报(键);
如果(!([8,9,13,27,46,110,190,17,86].indexOf(key)!=-1||
(键==65&(e.ctrlKey | | e.metaKey))||
(键>=35&&key=48&&key=96&&key=12){
var thisVal=$(this.val();
var valtoIns=此VAL.子字符串(0,15);
$(this).val(valtoIns);
if(!([8].indexOf(e.keyCode)!=-1)){
e、 预防默认值();
}
}
});
$(“输入[name='Txtpercentage']”)。在('keypress',函数(e)上{
var regex=/\。\d{2,}/;
var isTwoDecimal=regex.test($(this.val());
//警报(十进制);
if(十进制){
e、 预防默认值();
}
});
见工作


希望这有帮助。

您好,我需要允许18位数字和一个小数点以及小数点后的两位数字。您能告诉我如何实现这18位数字(包括小数点和两位数字吗?)