- PHP code
<?php $qq=$_POST['qq']; if(!$qq==""){ if( strlen( $qq ) > 12 || strlen( $qq ) < 5 ||[b] !is_numeric( $qq ) || $qq < 0 [/b]){ echo"<script language='javascript'> alert('对不起,你输入的QQ号码无效.请重新输入.');history.back();</script>"; exit(); } ?> <form name="form1" method="post" action=""> QQ号码吉凶查询: <input type="text" name="qq" onkeyup="value=value.replace(/[^\d]/g,'')"> <input type="hidden" name ="postclick" value="true" /> <input type="submit" name="Submity" value="查询"> <input type="reset" name="Submit2" value="重置"> </form>
加粗部分出错。不会弹出提示。请高手帮看下,谢谢。/
if语句的前段好用。$qq ) > 12 || strlen( $qq ) < 5,
后段不好用。 !is_numeric( $qq ) || $qq < 0
------解决方案--------------------
可以用正则 /^[1-9][\d]{4,11}$/ 匹配
is_numeric 对于 “00000001”,“1e10”等都是合法的