文本框使用jquery接受四个数字和两个小数

时间:2015-02-10 11:21:03

标签: jquery html

In HTML page a text box accept only the following format: `7898.90`

Using JQuery..

 Four numbers and dot(.) after that two numbers
Textbox maximum length is 7. like,  `$("#Future").attr('maxlength', '7');` 


   if (charCode != 44 && charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
    if (charCode != 37 && charCode != 38 && charCode != 39 && charCode != 40) {
        var val = event.key;
        if (AdHocScript.isAlphabet(val)) {
            return false;
        }

任何人都可以解释..在HTML页面中,文本框只接受以下格式:7898.90

Using JQuery..

 Four numbers and dot(.) after that two numbers
Textbox maximum length is 7. like,  `$("#Future").attr('maxlength', '7');` 
Thanks in advance.

4 个答案:

答案 0 :(得分:1)

    $('#Future').keypress(function (event) {
        if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
            event.preventDefault();
        }

        var text = $(this).val();

        if ((text.indexOf('.') != -1) && (text.substring(text.indexOf('.')).length > 2)
             || (text.length > 7)) {
            event.preventDefault();
        }
    });

答案 1 :(得分:0)

首先,将文本框的最大长度设置为7.并调用按键事件。在该函数中获取用户输入的每个字符的关键代码,仅允许'dot'然后将最大长度重置为'2'。

<input type="text" onkeypress="return isNumKey(evt)" maxlength ="7" />

 function isNumKey(evt) {

    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : event.keyCode;


    if (charCode > 31 ....){ // here restrict all other special char 
        return false;
    }
    else if(charCode === 46){ // key code for dot(.)
        if((dotcount === 0)&&(maxlen<=7)){
               dotcount = ++dotcount;
               $('#..').attr("maxlength", pointPos+3); //pointPos initially set as length of the text box
               return true;
        }
       return false;
    }       
}

试试这个你可以有所作为。

答案 2 :(得分:0)

抱歉,我在问题中提供任何代码之前发布了这个。可以通过不同的实现帮助其他任何人。

您应该使用正则表达式执行此操作。这是一个示例: jsfiddle实现:http://jsfiddle.net/3v6gcjzx/1/

基本上,您希望验证文本框模糊事件,以使用以下内容检查4位十进制和另外两位数的正则表达式(作为示例):

$(document).ready(function () {
    $("#text1").on('blur', function () {
        var regexExp = /[0-9]{4}\.[0-9]{2}/
        alert(regexExp.test(($('#text1').val())) ? "valid input" : "invalid input");
    });
});

答案 3 :(得分:0)

$("body").on("keypress", "#txtbox", "", function (event) {
    var check = $(this).val().indexOf('.');
     if (check < 0) {
         if ($(this).val().length < 4 || event.keyCode == 46) {
             return true;
         } else {
             return false;
         }
     } else {
         if ($(this).val().length >= check && $(this).val().length < check + 3 && event.keyCode != 46) {
             return true;
         } else {
             return false;
         }
     }
});

例如:1234.23