^[a-zA-Z0-9]+$
如果允许为空,就把上面的+改成*

解决方案 »

  1.   

    我郁闷,为啥你们写就能过滤成功,我写的就不行,再帮我看看为啥错的吧.
    我的表达式 echo ereg("^[A-Za-z]","s@654"); @和数字根本一点也滤不到.
      

  2.   

    /*
    我想在用户注册时,控制用户名只允许用 a-z A-Z 0-9 之间的组合.
    如何过滤非法字符,如 "*" "\" 等. 
    */
    $string = '0Asdf_0';
    if (!preg_match("/^\w+$/", $string)) {
    die('error');
    } else {
    die('success');
    }