Lucky for U!~
         $m = "1301234567";
$p = "/^13\d{9,9}$/";
if(preg_match($p,$m,$c))
{
echo "you are right!";
print_r($c);
}
else
{
echo "not mobilephone No!";
}

解决方案 »

  1.   

    ^13[0-9]\d{4,8}$ 我的这个写法有什么问题么,用它来判断是不是正确的11位手机号,或者,是正确手机号的前7位?另外用ereg()也可以吧?
      

  2.   

    我是这么用的:
    if(!ereg("^13[0-9]\d{4,8}$",$Mobile))
    {
        do A;
    }
    do B;
    可无论输入正确的手机号还是错误的,都只执行了do A这块,不知道问题出在什么地方
      

  3.   

    我的测试如下
    <?php
    $expr="^13[0-9]\d{4,8}$";
    $val="13612341234";
    $test = ereg($expr,$val);
    $test==1?$test="匹配":$test="不匹配";
    echo "$test<hr>";
    ?>为什么不论手机号是否正确总是输出“不匹配”呢?这个正则表达式到底问题出在哪呢?盼高人指点
      

  4.   

    <?php
    $expr="^13[0-9]{9}$";
    $val="13612341234";
    $test = ereg($expr,$val);
    $test==1?$test="匹配":$test="不匹配";
    echo "$test<hr>";
    ?>
    不知道LZ还要什么样的规则匹配?
      

  5.   

    ereg("^13[0-9]\d{4,8}$",$Mobile) 是错误的
    应写做
    ereg("^13[0-9][0-9]{4,8}$",$Mobile)
    注意ereg函数组不支持缩略符,即不支持形如\w\d\s....这样的写法