preg_match ("/^[a-zA-Z0-9]+[a-zA-Z_]+[a-zA-Z0-9_]*/is","11a12")
长度另控制吧.
正则反正我不会控制那个……

解决方案 »

  1.   

    <?php
    Function Check_User_Name($rwName){
    $Che = preg_match ("/^[[:alpha:][:digit:]]+[[:alpha:]_]+[[:alpha:][:digit:]_]*/i",$rwName);
    if (strlen($rwName)>=4 && strlen($rwName)<=16 && $Che == 1){
    printf ('%s<br />',$rwName) ;
    }else{
    printf ('%s<br />','False!') ;
    }
    }
    Check_User_Name('8888888');
    Check_User_Name('88a');
    Check_User_Name('8888888888888888888888888888888');
    Check_User_Name('MoXie');
    Check_User_Name('SysTem128');
    Check_User_Name('Shinson_Moon');郁闷……
    问题还没回答完就给分了……
    正则和上面一个意思.