0

我有一个文本框,例如,

 <input type="text" id="hourField" value=""/>

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

4

5 回答 5

2

您可以为此进行 jquery。像这样

var hour_val = $('#hourField').val();
if(hour_val > 12)
{
    alert('Number should be less than 12');
    return false;  
}
于 2013-09-19T04:28:41.510 回答
1
var ele = document.getElementById('hourField');

if(parseInt(ele.value , 10) > 12)
{
    alert('value is bigger than 12');
    return false;
}
于 2013-09-19T04:28:04.477 回答
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

于 2013-09-19T04:29:59.410 回答
0

Makue 确保您将输入限制为数字,然后验证输入值以检查大于 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

于 2013-09-19T04:30:31.513 回答
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;
    }
}
于 2013-09-19T04:31:49.007 回答