检查手机号码

时间:2017-04-02 11:01:46

标签: php

我想通过API发送短信,但其中一个要求是我必须使用国家/地区代码,其次我需要确保数字的长度是正确的。

首先我需要删除数字中的任何空格,检查字符长度是否为11,检查数字是否以07开头,然后用+44替换。

解决这个问题最简单的方法是什么?我在考虑

$number = '07803 556557';
$number = str_replace(' ', '', $number);
if (strlen($number) == '11' && substr($number, 0, 2) == '07') {
    $number = str_replace('07', '+44', $number);
}

1 个答案:

答案 0 :(得分:0)

总结评论,我建议......

  1. 从输入中删除所有非数字字符这不仅会在开头删除空格和+,还会打字错误或人们有时添加的()-等字符。

  2. 检查长度并停止,如果它不符合您的要求。但是,你确定只能有长度为11的数字吗?

  3. 检查前两个数字是44还是07 ,否则停止。但是,您确定不想接受其他国家/地区代码吗?

  4. 将前两个数字更改为+44 。还记得ewcz所说的话:如果你使用str_replace(),你可能无法得到你想要的东西。相反,只需替换前两个:$number = substr_replace($number, "+44", 0, 2);

  5. 附加说明:

    • 绝不信任或假设用户输入。您将有用户输入非数字字符,HTML,SQL,PHP,随机字符以及您不会想到的所有其他内容 - 只是为了咯咯笑。