我们将用正则表达式来匹配手机号码,我们先分析一下手机号码的编码规则:

3. 第二个数字目前有34578这几个数字,后面会不会增加1、2、6、9,我只能说很有可能,程序猿就是苦逼!

php用正则表达式判断手机号码的写法:

$g = "/^1[34578]\d{9}$/";

// "^"符号表示必须是1开头; "[ ]"的意思是第二个数字必须是中括号中一个数字; 而 \d 则表示0-9任意数字,后跟{9}表示长度是9个数字; 后面的$表示结尾; 开始和结尾的 / 是正则表达式必须放在这个中间, 有的后面可能还跟模式.

举例:

1、从一段文本中提取出所有的手机号码

$str = '我的手机号码13800001111,你的手机号码18900009999,他的手机号码17710101212';

preg_match_all("/^1[34578]\d{9}$/", $str, $mobiles);

var_dump($mobiles);

2、检查一个字符串是不是一个合法的手机号码

if(preg_match("/^1[34578]\d{9}$/", $mobile)){

    echo '匹配成功,是手机号码';

03-15 05:12