如果只是要提取数字的话用explode就可以了

解决方案 »

  1.   

    $id="231,23,454,67,78789,3214";
    if (ereg("([0-9]+\,){3}([0-9]+)",$id)) {
    echo "ok";
    }else{
    echo "no";
    }两位老大的都试过了,不行
    要求:
    数字,数字,数字,数字   返回:ok
    1,,234,634  返回:no 数字之间只能有一个","
      

  2.   

    看来你对正则还是不熟悉
    如果数字个数不确定的话,还是用explode
    $str = "21312,43,2432,51,,1,235";
    $arr = explode(',', $str);
    $error = 0;foreach ($arr as $key => $val) {
    if (is_numeric($val))
    continue;
    else
    $error++;
    }if (!$error)
    echo "OK";
    else
    echo "NO";
      

  3.   

    怎么不对????
    echo preg_match("/^((\d+),)*(\d+)$/","112,44,22,5554");