http://www.phpe.net/articles/151.shtml

解决方案 »

  1.   

    echo eregi("[0-9a-zA-Z\x80-\xff]","中文abc1232434!@#%$@%")?"T":"F";
    echo eregi("[0-9a-zA-Z\x80-\xff]","中文abc1232434!@#%$@%\n")?"T":"F";
    哥们不行啊,输出都是T的
      

  2.   

    <?php
    /*
    function:match string
    author:
    date:2003.7.15
    parameter:
    str=the string you want to match
    return:
    total=the string match the partern
    */
    function matchstring($str) {
    global $total;
    preg_match_all("/[0-9a-zA-Z\x80-\xff]/",$str,$arr);
    for($i=0; $i<count($arr[0]); $i++) {
    $total[$i].= $arr[0][$i];
    }
    Return $total;
    }
    $str="中文,abc1232434!@#%$@%";
    $string=matchstring($str);
    for($i=0; $i<count($string); $i++) {
    $str_all.=$string[$i];
    }
    echo "$str_all";?>
      

  3.   

    <?
    $str = "中文abc1232434!@#%$@%";
    $flag = ereg_replace("[0-9a-zA-Z\x80-\xff]",'', $str);
    if ($flag == '') {
    echo 'F';
    } else {
    echo 'T';
    }
    $str = "中文abc1232434";
    $flag = ereg_replace("[0-9a-zA-Z\x80-\xff]",'', $str);
    if ($flag =='') {
    echo 'F';
    } else {
    echo 'T';
    }
      

  4.   

    可能我没有说清楚
    比如一个字符串,如果它全是中文字府和a-z,A-Z,0-9 组成就ture
    否则如果有@#$\n\r\t等就是False
      

  5.   

    $str="csdn程序员大本营";if(preg_match("/[0-9a-zA-Z\x80-\xff]+/",$str)
    echo "符合条件";
    else
    echo "不符合";
      

  6.   

    那不更简单吗?if (eregi("/[0-9a-zA-Z\x80-\xff]/",$string)){
       echo "true";
    }
    else {
       echo "false";
    }
      

  7.   

    Goodname 请看:$str="csdn程序员大本营\n";if(preg_match("/[0-9a-zA-Z\x80-\xff]+/",$str))
    echo "符合条件";
    else
    echo "不符合";
      

  8.   

    usb 的无论怎么都是false:
    $str="csdn程序员大本营@#$sdfsdfsdfsdf\t\t\t";if (eregi("/[0-9a-zA-Z\x80-\xff]/",$str)){
       echo "true";
    }
    else {
       echo "false";
    }
      

  9.   

    你的字符串里面有\n\t什么的,当然是false!
      

  10.   

    你的字符串里面有\n\t什么的,当然是false!
      

  11.   

    \n\t里面的这个\不属于你说的a-z0-9中文,这个字符集合丫?
      

  12.   

    $str="csdn程序员大本营\n";if(preg_match("/^[0-9a-zA-Z\x80-\xff]+$/",$str))
    echo "符合条件";
    else
    echo "不符合";注意:对给出的$str仍然输出"符合条件",这是因为\n在结尾,被忽略了,并只忽略1个。你弄两个试试?
      

  13.   

    是比较奇怪,不知道为什么要忽略一个。ereg不忽略$str="csdn程序员大本营\n";if(ereg("/^[0-9a-zA-Z\x80-\xff]+$/",$str))
    echo "符合条件";
    else
    echo "不符合";//不符合
      

  14.   

    preg_match("/(^[0-9a-zA-Z\x80-\xff]+$)/",$str,$regs);
    那么 $regs[1] 为 csdn程序员大本营 并无后面的\n
    按说(^[0-9a-zA-Z\x80-\xff]+$)是应该包括 \n 的,因为他在$前
    实际上并没有,所以说最后的一个\n被忽略了
      

  15.   

    preg_match("/(^[0-9a-zA-Z\x80-\xff]+$)/",$str,$regs);
    那么 $regs[1] 为 csdn程序员大本营 并无后面的\n
    按说(^[0-9a-zA-Z\x80-\xff]+$)是应该包括 \n 的,因为他在$前
    实际上并没有,所以说最后的一个\n被忽略了
      

  16.   

    preg_match("/(^[0-9a-zA-Z\x80-\xff]+$)/",$str,$regs);
    那么 $regs[1] 为 csdn程序员大本营 并无后面的\n
    按说(^[0-9a-zA-Z\x80-\xff]+$)是应该包括 \n 的,因为他在$前
    实际上并没有,所以说最后的一个\n被忽略了
      

  17.   

    好像也就忽略了结尾的一个\n
    不会忽略\t\r的继续关注,礼拜一揭帖,谢谢大家帮忙祝大家周末玩的愉快,俺明天随团去北戴河了
      

  18.   

    ereg("/^[0-9a-zA-Z\x80-\xff]+$/",$str)