剛用php寫了一個雲片網發送短信的接口,大陸號碼不需要加區號,但是港澳台及國際號碼得加區號才能發送。第一次接觸香港號碼好緊張,在正則驗證的時候一直驗證有誤,百度了很久找不到想要的答案,於是自己寫了一串,發現還挺好用。記錄一下
if(preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $mobile)){
    echo "大陸";
}else if (preg_match('#^(\+852)[69]\d{7}$#', $mobile)) { 
        echo "香港";
}
這是按照我的業務邏輯寫的, 我只用了香港的手機號碼,其他地區或國家的號碼 把852換成對應的區號就行了。
