用户名    /\A_|_\Z|[^\x{4e00}-\x{9fbf}a-z0-9_]+/
密码  /[^A-z0-9]+/
字串长度自己另外判断吧
全是数字也一样用其他函数判断

解决方案 »

  1.   

    哇~~试过了,不行啊,我是这样测试的
    <?php
    if (ereg("/\A_|_\Z|[^\x{4e00}-\x{9fbf}a-z0-9_]+/","雪儿"))
    echo "ok";
    else 
    echo "no";
    ?>输出是no,而且还有错误;Warning: ereg() [function.ereg]: REG_ERANGE in...
    怎么办啊????^_^
      

  2.   

    1.这是匹配错误的情况,不是正确的情况
    2.这是perl兼容的正则,要用preg相关函数
      

  3.   

    snmr_com(麒麟厍人) ,您好啊,我刚刚用了 preg_match,可以出现下面错误:
    preg_match() [function.preg-match]: Compilation failed: character value in \x{...} sequence is too large at offset您能再教教我吗,嗯?
      

  4.   

    你的php版本?估计还不支持unicode判断,这就很麻烦了
      

  5.   

    PHP Version 5.2.0
    支持吗?snmr_com(麒麟厍人)^_^
      

  6.   

    mm try//1.===========================
    $d = '雪儿';
    if(preg_match('/^(?!\_+)[a-z0-9\x80-\xff\_]{3,16}$/',$d) && substr($d,-1) != '_' && strlen((int)$d)!=strlen($d)) echo "done<br>";
    else echo 'not done<br>';//2.=========================================
    $sd = 'sdfsssj';
    if(preg_match('/^[0-9a-zA-Z]{6,16}$/',$sd)) echo 'pass';
    else echo 'no pass';
      

  7.   

    呃?!漏了修正符“u”
    另外,如果原字符串不是utf-8编码的,要把原字符串转为utf-8再判断<?php
    $str=iconv ("GB2312","UTF-8","雪儿_");
    preg_match_all("/\A_|_\Z|[^a-z0-9_\x{4e00}-\x{9fbf}]+/u",$str, $array);
    echo "<pre>";
    print_r($array);
    ?>如果入库的编码不是utf-8,就要分开转换,不要把原来的替换
    反正之检测一个utf-8的字串,否则很难判断中文还有一点上面这个是纯汉字(例如“青の空”也是不能通过的)
      

  8.   

    嗯,谢谢楼上的两位哥哥,snmr_com(麒麟厍人) 和foolbirdflyfirst(what the hell is going on?) (哇,你的名字好长的说,嘿嘿)我先测试一下哈,可以的话我就买单了哦,一个给你们十分可以吗,嘿嘿
      

  9.   

    \x80-\xff这个不能确定是中文,shift-jis(日文)/euc-kr(韩文)或其他双字节语言都是使用这一范围的
      

  10.   

    foolbirdflyfirst(what the hell is going on?) 写的要详细些,snmr_com(麒麟厍人)的也很好的,可是没有字符长度还有不能全为数字的判断,偶又不会修改,偶笨笨的,只会拿来就用,麒麟能帮我写完整吗,就按照我上面提到的用户名和密码的要求,可以吗?~~
      

  11.   

    ^_^,大家可能都在忙。中文匹配是个问题,不妨google一下多了解一下。
      

  12.   

    嗯,我会好好努力的,谢谢哥哥们哈,foolbirdflyfirst(what the hell is going on?) ~~
      

  13.   

    哈哈,我结帐了哈^_^,snmr_com(麒麟厍人) ( ) 和foolbirdflyfirst(what the hell is going on?) 各得十分哈,谢谢GG们的帮助,加油,嘿嘿。。