如何在javascript中进行验证,只允许在提示框中输入数字?

时间:2014-05-26 10:58:35

标签: javascript prompt

 var ratioChange = prompt('Are you sure to change seller ration of this user?');
                if(ratioChange != "")
                {
                  $('#clsdywusers_hdnaction').val("SET_SELLER_RATIO");
                  $('#clsdywusers_seller_ratio').val(ratioChange);
                }
                else
                {
                  alert('Please enter seller ratio.');
                  return false;
                }

现在我想要的是我只想让用户在提示框中写数字。请帮忙。

1 个答案:

答案 0 :(得分:0)

使用javascript输入 keypress 事件并检查每个类型字符是否为数字:

    function is_numeric(val){
        if(val > 47 && val < 58) return true;
        else return false;
    }

    $(".your_input").keypress(function(e){

            switch(e.which){
                    // exclude left and right navigation arrows from check
                case 0: case 8:break;
                default:
                    if(is_numeric(parseInt(e.which))) return true;
                    else{
                        return false;
                    }
            }
    });

更新:,提示

    var ratioChange = prompt('Are you sure to change seller ration of this user?');
    if(ratioChange != "" && is_number(ratioChange))
    {
       $('#clsdywusers_hdnaction').val("SET_SELLER_RATIO");
       $('#clsdywusers_seller_ratio').val(ratioChange);
    }
    else
    {   
        alert('Please enter seller ratio.');
        return false;
    }

    function is_numeric(val){
        if(val > 47 && val < 58) return true;
        else return false;
    }

    function is_number(val){
        var value= new String(val), singleNumber;
        for(var i=0; i < value.length; i++){
            singleNumber = 48 + parseInt(value[i]);
            if(!is_numeric(singleNumber)) return false;
        }
        return true;
    }

JSBIN