限制输入字段的范围

时间:2012-07-24 08:23:17

标签: php jquery

虽然这是一个非常常见的问题。我有一个输入字段,输入的数据必须在1到150之间。

问题是我已经在使用一些验证了。许多其他输入字段正在使用该验证。所以我无法改变这一点。它是num()函数。

在一个字段mesure上,我想添加额外的功能。我用验证试了一下。 我不知道如何使用document.ready中的两个函数仅将一个输入字段合并这两个验证。

我可以用jQuery或PHP来完成。

<input type="text" name='mesure' class="numbersonly" maxlength="3" onblur =" validate()"/>


function num() {

    $(".numbersonly").bind('keypress', function(e) {

        if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {

            $("#errmsg").html("numbers please");

            return false;
        }
    });

}

function validate()
{
   if( document.form.mesure.value >150 )
   {
       alert( "out of range!" );
       document.form.mesure.focus() ;
       return false;
   }
}      

2 个答案:

答案 0 :(得分:0)

为什么不使用onkeypress / onkeyup,使用validate函数进行检查。 但请记住,javascript并不是限制的真正解决方案 - 人们可以关闭或更改javascript。还可以使用php来检查值。

答案 1 :(得分:0)

例如,如果要限制的输入字段具有id #text,则可以使用

if($('#text').val().length>150){
    //do stuff here
}

由于您可能会将输入的值发布到后端的某个位置,因此真正的验证必须在php中进行。在那里,你可以做类似

的事情
<?php
    if(strlen($_POST['text'])>150){
        echo "too long";
        exit;
    }

    //do other backend stuff here
?>

使用javascript进行验证只是为了让用户立即反馈他是否做错了。但是,客户端总是可以看到像jQuery / Javascript这样的客户端代码,所以最终验证使用php。