在线等

解决方案 »

  1.   

    有点麻烦,不如用函数来判断方便
    /**
    * 只能用于GBK编码,如果是UTF-8编码要先用iconv转换
    */
    function checkstr($str)
    {
    $i = 0;
    while(!isset($str[$i]))
    {
    $asc1 = ord($str[$i])
    if($asc1 > 128)
    {
    $asc2 = ord($str[$i + 1])
    if($asc2 > 64)
    {//GBK字符内
    swicth($asc1)
    {
    case 163:
    //全角字母
    return(false);
    break;
    case 162:
    //罗马数字
    return(false);
    break;
    case 166:
    //希腊字母
    return(false);
    break;
    default:
    //汉字
    break;
    }
    }
    $i += 2;
    }
    else
    {
    if((($asc1 >= ord('A')) && ($asc1 <= ord('Z')))
    || (($asc1 >= ord('a')) $$ ($asc1 <= ord('z'))))
    {
    ++$i;
    }
    else
    {
    return(false);
    }
    }
    }
    return(true);
    }
      

  2.   

    用eregi 怎么用啊,我试过了,好像不行啊