【问题标题】:Check if number is in range检查数字是否在范围内
【发布时间】:2015-11-28 01:03:58
【问题描述】:

我正在检查来自输入字段的号码是否在范围内

function timeCheck(){

        var time = $.trim($('#enterTime').value());
            Number.prototype.between = function(min,max){
                return this > min && this < max;
            };
            if ((time).between(1,9)){
                    alert("test");
                }
            }

但不知何故它不起作用..警报永远不会触发

感谢您的帮助和快速答复

【问题讨论】:

  • if((time).between(1,9)) /* &lt;- parenthesis here*/ {
  • @X.L.Ant hmm 仍未触发
  • if 条件下出现缺少关闭)
  • @palaѕн 不,一切都错了它仍然无法正常工作..

标签: javascript jquery


【解决方案1】:

不是右括号,而是缺少括号:

if((time).between(1,9){

应该是:

if ((time).between(1,9)){

if (time.between(1,9)){

【讨论】:

    【解决方案2】:

    扩展@Daniel的回答,还有两个错误:第一,$('#enterTime').value()不是有效的jQuery函数,应该是$('#enterTime').val()。其次,您需要将您的值转换为类型Number。否则,您将尝试访问不存在的字符串的between 属性。最终代码是:

    function timeCheck(){
        var time = new Number($.trim($('#enterTime').val()));
        Number.prototype.between = function(min,max){
            return this > min && this < max;
        };
        if(time.between(1,9)){
            alert("test");
        }
    }
    

    【讨论】:

      【解决方案3】:

      FIDDLE 试试下面的代码

      function timeCheck(){
          var time = parseInt($.trim($('#enterTime').val()),10);
              Number.prototype.between = function(min,max){
                  var num = parseInt(this,10);
      
                  return num >= min && num <= max; 
              }
                  if((time).between(1,9)){
                      alert("test");
                  }
      }
      

      问题在于类型转换对象 time 不是 Number 类型。

      希望对你有帮助.....

      【讨论】:

        【解决方案4】:

        这个问题已经被问过了:here

        试试我建议的函数(在提到的帖子中它是针对 PHP 的),它对增加或减少范围有效,并且不限于整数:

        function between(n, a, b)
        {
            var chk= false;
           if ((a==n)&&(b==n)){
              chk = true;
            }else{
              chk = (n-a)*(n-b)<0;
            }
            return chk;
        }
        

        函数 TRUE 如果 n 在 a 和 b 之间

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-05
          • 1970-01-01
          • 2023-04-03
          • 2017-07-13
          • 2023-02-21
          相关资源
          最近更新 更多