这个问题不是“正则”处理的范围if($pagenum < 1) $pagenum = 1;
if($pagenum > $totalpage) $pagenum = $totalpage;

解决方案 »

  1.   

    在输入数据时让PHP判断,如果超出范围就显示当前页.有一个当前页的变量那样就好控制了.
      

  2.   

    恩,唠叨大我是这么做的,可是有点问题啊
    <form name="form1" id="form1" method="get" action="fy.php?pagenum=<? echo $_POST['pagenum']?>">
    <input type="submit" name="Submit" value="转到" />
    <input name="pagenum" type="text" size="5" /> 
    页</form> 
    这是我转到的那段代码,但我一按转到,它就报错了,一点也没有运行到上面两段代码,所以我才想到用正则来判定下的。
      

  3.   

    在输入数据时让PHP判断,如果超出范围就显示当前页.有一个当前页的变量那样就好控制了.
    恩,我当前页的变量是$pagenum,主要是想知道怎么在输入数据的时候让PHP判断,因为提交的时候,它就直接把那个输入的页码提交了。我想来想去,好象只能用javascript来判断一下,所以来请教大家有没有什么简单的方法。
      

  4.   

    <input name="pagenum" type="text" size="5" onkeyup="this.value=this.value<1?1:this.value><?echo $totalpage;?>?<?echo $totalpage;?>:this.value" />
      

  5.   

    我试过了啊,我那两行代码加上去了,但是它提交的时候,就是不判断pagenum是不是超出或者小于1.
      

  6.   

    对了,大家,我试过了,还是不行<form name="form1" id="form1" method="get" action="fy.php?pagenum=<? echo $_POST['pagenum']?>"><?if($pagenum < 1) $pagenum = 1;
    if($pagenum > $totalpage) $pagenum = $totalpage;?>
    <input type="submit" name="Submit" value="转到" />
    <input name="pagenum" type="text" size="5" /> 
    </form>
    这样的话,我一按转到,他就自动把我输入的值作为pagenum了,根本没有判断<input name="pagenum" type="text" size="5" onkeyup="this.value=this.value<1?1:this.value><?echo $totalpage;?>?<?echo $totalpage;?>:this.value" />
    用了唠叨大哥的代码后,已经输入不进去超过totalpage和小于1的值了,不过输入乱码还是没有用
    所以我想一定要用php或者正则验证一下才可以。
    但是,我用<form name="form1" id="form1" method="get" action="fy.php?pagenum=<? echo $_POST['pagenum']?>"><?if($pagenum < 1) $pagenum = 1;
    if($pagenum > $totalpage) $pagenum = $totalpage;?>
    <input type="submit" name="Submit" value="转到" />
    <input name="pagenum" type="text" size="5" /> 
    </form>
    这种形式的时候,他老是不检验就自动跳到我输入的那个页码去了,真的没办法啊
    大家能告诉我为什么会这样吗。我就是没办法在php里面检验