必须有一个数字和一个英文字母。^[A-Za-z0-9]+$ 一个数字或字母

解决方案 »

  1.   

    $s = 'awer';
    $match = preg_match("/[a-zA-Z]{1,15}[0-9]{1,15}|[0-9]{1,15}[a-zA-Z]{1,15}/", $s);
    if ($match)
    {
    die("成功");
    }
    else
    {
    die('失败');
    }
    希望这一段能满足你的要求
      

  2.   

    很明显楼上的有误。
    如:
    $s =  '5iiiiiiiiiiiiiiiiiiiiiii'; //strlen($s)  不在 6~16范围
      

  3.   


    $s = 'sdfs2aa';
    if (preg_match_all("/^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]{6,16}$/",$s,$m)) {
        echo "Y";
    } else {
        echo "N";
    }