验证不应允许大于数字的文本框

时间:2013-09-19 04:24:06

标签: javascript

我有一个像

这样的文本框
 <input type="text" id="hourField" value=""/>

我们如何限制该文本框不允许超过12个。(即12小时格式,这应该只允许1到12个数字。它不应该允许大于12。

5 个答案:

答案 0 :(得分:2)

你可以jquery为此。喜欢这个

var hour_val = $('#hourField').val();
if(hour_val > 12)
{
    alert('Number should be less than 12');
    return false;  
}

答案 1 :(得分:1)

var ele = document.getElementById('hourField');

if(parseInt(ele.value , 10) > 12)
{
    alert('value is bigger than 12');
    return false;
}

答案 2 :(得分:0)

(function(doc) {
    var oIn = doc.getElementById('hourField');
    var nIn = oIn.value;
    oIn.addEventListener('blur', function() {
        if(this.value > 12) {
            alert('Cannot exceed 12');
            this.focus();
        }
    });
})(document);

JSFiddle

答案 3 :(得分:0)

确保您将输入限制为数字,然后验证输入值以检查大于12的数字。

尝试:

function isNumberKey(evt)
       {
          var charCode = (evt.which) ? evt.which : event.keyCode;
           if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)){
             return false;
           }
            var x=document.getElementById("hourField").value;
           console.log(x);
  if (parseInt(x,10)>12){
    alert("Value is greater than 12");
    return false;
  }
          return true;
       }

DEMO FIDDLE

答案 4 :(得分:0)

首先确保它是一个数字然后检查值。制作一个重复使用的功能。

function isNum(element, msg) {
    var reg= /^[0-9]+$/;
    if (elem.value.match(reg)) {
        if (element.value < 12) {
            return true;
        }
    } else {

        elem.focus();
        return false;
    }
}