1。用户名长度为4-16位,合法字符为:[0-9]、[A-Z]、[a-z]
2。密码长度为6-16位,合法字符为除汉字以外的任意字符
3。其他输入框,可以是汉字、数字、字符、-~!@#$;^()+{}[]_,.
以上三种,如何分别用php的正则判断?

解决方案 »

  1.   

    1.'/[0-9a-zA-Z]{4,16}/'
    2.'/[^\x80-\xff]{6,16}/'
    3.'/[\x80-\xff\d\w\-\~\!\@\#\$;\^\(\)\+\{\}\[\]\.]+/i'
      

  2.   

    1.[0-9a-zA-Z]{4,16}
    2.[^\x80-\xff]{6,16}
    3.[\x80-\xff\d\w\-\~\!\@\#\$;\^\(\)\+\{\}\[\]\.]+
      

  3.   

    完整一点的:
    <?php
    if(!preg_match('/^[0-9a-zA-Z]{4,16}$/',$str))
      die('用户名长度为4-16位,合法字符为:[0-9]、[A-Z]、[a-z]');
    if(!preg_match('/^[^'.chr(0xa1).'-'.chr(0xff).']{6,16}$/',$str))
      die('密码长度为6-16位,合法字符为除汉字以外的任意字符');
    if(!preg_match('/^[\x80-\xff\d\w\-\~\!\@\#\$;\^\(\)\+\{\}\[\],\.]+$/',$str))
      die('该输入框,可以是汉字、数字、字符、-~!@#$;^()+{}[]_,.');
    ?>
      

  4.   

    <?php
    function userName($name,$error){
    if(!preg_match('/^[0-9a-zA-Z]{4,16}$/',$name))
      return $error = "('用户名长度为4-16位,合法字符为:[0-9]、[A-Z]、[a-z]')";
    }
    function passWord($password,$error){
    if(!preg_match('/^[^'.chr(0xa1).'-'.chr(0xff).']{6,16}$/',$password))
      return $error = "('密码长度为6-16位,合法字符为除汉字以外的任意字符')";
    }
    function text($str,$error){
    if(!preg_match('/^[\x80-\xff\d\w\-\~\!\@\#\$;\^\(\)\+\{\}\[\],\.]+$/',$str))
      return $error="('该输入框,可以是汉字、数字、字符、-~!@#$;^()+{}[]_,.')";
    }
    ?>
    哈哈 !结帖吧!
      

  5.   

    1.'/[0-9a-zA-Z]{4,16}/'
    2.'/[^\x80-\xff]{6,16}/'
    3.'/[\x80-\xff\d\w\-\~\!\@\#\$;\^\(\)\+\{\}\[\]\.]+/g'学习