$str=$_POST['name'];
if(strlen($str)<4){
    echo '对不起,您的用户名过短';
}
这个是限制name这个关键字的最小长度,不知道是不是这么写
$strl=$_POST['name'];
if(strlen($strl)>18){
echo '对不起,您的用户名过长'
}
strl。这个是限制name这个关键字的最大长度请问高手是不是这么去写啊。

解决方案 »

  1.   

    对的,不过这个只能用于英文用户名的检测,如果是中文的就不行。
    可以考虑下用mb_strlen来测
      

  2.   

    在你的form标签里要写上onsubmit调用这个函数才行。 
    ---------------------------------------------------
    php后台的。
    <?php
    $str=$_POST['password'];
    if(strlen($str)<6){
        echo '对不起,您的密码小于六位';
    }
    ?>这个是我从baidu上找的,可是这个form标签 怎么调用onsubmit这个函数?
      

  3.   

    <form name="form1" method="post" action="reg.php" onsubmit="这里怎么写?">
      

  4.   

    前台用js判断长度:
    document.getElementById('输入框id').value.length判断长度
    后台用mb_strlen($_POST["传递值"])    判断
      

  5.   

    估计楼主也有点搞糊涂了吧。
    你这个,为了良好的客户体验可以在前台做一次判断,为了更高的安全性,可以在后台再做一次判断。
    前台用JS来做判断:<script type="text/javascript">
    function checkForm(){
        var uname = document.getElementById('name').value;
        if (uname.lenght<4) {
            alert('用户名过短');
            return false;
        }
        if (uname.lenght>18) {
            alert('用户名过长');
            return false;
        }
        return true; //通过所有验证,可以提交
    }
    </script>
    <form name="form1" method="post" action="reg.php" onsubmit="checkForm()">
    <input id="name" name="name" />
    </form>后台则用php判断:$name = $_POST['name'];
    if (mb_strlen($name)<4) echo('用户名过短');
    if (mb_strlen($name)>18) echo('用户名过短');为什么用mb_strlen不用strlen?因为strlen是按字节计算长度的,所以如果你的用户名是中文,那么一个中文字符的长度可能是2或者3(看你用的什么编码)
      

  6.   

    如果前臺也要判斷那就這樣寫
    <form name="form1" method="post" action="reg.php" onsubmit="if(document.getElementById('username').length<6){alert('.....');return false;}">
    <input id='username' name='username'>
    </form>
      

  7.   

    錯了,應該是
    if(document.getElementById('username').value.length<6)