Php 检查手机号码
我想通过API发送短信,但其中一个要求是我必须使用国家代码,其次我需要确保号码长度正确 首先,我需要删除数字中的所有空格,检查字符长度是否为11,检查数字是否以07开头,然后将其替换为+44 解决这个问题最简单的方法是什么?我在想Php 检查手机号码,php,Php,我想通过API发送短信,但其中一个要求是我必须使用国家代码,其次我需要确保号码长度正确 首先,我需要删除数字中的所有空格,检查字符长度是否为11,检查数字是否以07开头,然后将其替换为+44 解决这个问题最简单的方法是什么?我在想 $number = '07803 556557'; $number = str_replace(' ', '', $number); if (strlen($number) == '11' && substr($number, 0, 2) == '07
$number = '07803 556557';
$number = str_replace(' ', '', $number);
if (strlen($number) == '11' && substr($number, 0, 2) == '07') {
$number = str_replace('07', '+44', $number);
}
总结这些评论,我建议。。。
+
,还会删除人们有时添加的拼写错误或字符,如(
,)
或-
44
或07
,否则停止。但是,您确定不接受其他国家/地区代码吗+44
。但是,请记住ewcz所说的:如果您使用str_replace()
,您可能无法获得所需的内容。相反,只需替换前两个:$number=substr\u replace($number,“+44”,0,2)代码>
- 永远不要相信或假设用户的输入。您将有用户输入非数字字符、HTML、SQL、PHP、随机字符和其他您不会想到的东西——只是为了好玩
str_replace('07','+44',$number)
替换所有出现的07
,这可能不是你想要的。…@H.Jabi那么它不会发送短信,我认为人们无论如何都不会在手机号码字段中输入+44。@ewcz是的,你的正确。也许我可以分解字符串,删除前2个元素,然后在itSickaaron的前面加上+44,比如,我总是输入正确的国家代码。当涉及到用户输入时,不要假设任何东西。OP,这回答了你的问题吗?有帮助吗?或者根本没有帮助?请向上/向下投票和/或相应地将答案标记为已接受。