验证南非手机号码

时间:2010-10-30 09:09:38

标签: php

如何验证南非的手机号码? 该号码必须以国家代码(如+27)开头,最长为11位数 - 总共12位,带有“+”号。

5 个答案:

答案 0 :(得分:6)

尝试使用正则表达式:

^\+27[0-9]{9}$

转换为PHP:

if( preg_match( "/^\+27[0-9]{9}$/", $phoneNumber ) ){
  echo "Valid number";
} else {
  echo "Invalid number";
}

答案 1 :(得分:1)

获取输入并删除所有不是数字的内容。

// rm all but Numbers
$input = '0123 abc #';
$output = preg_replace('#[^0-9]#', '', $input);
echo($output);

计算剩余数字。

如果长度为9位,则前缀为“+27”

如果长度为11位,则前缀为“+”

如果长度为10位或小于9位,那么可能它不是有效的电话号码格式?

答案 2 :(得分:1)

OP用于南非手机(移动)号码,而不仅仅是南非的任何电话号码。

以下正则表达式对我有用:

^(\+27|0)[6-8][0-9]{8}$
  • 允许使用国际拨号代码或从零开始。
  • 南非手机号码以08或07或06开头。

答案 3 :(得分:0)

$number = preg_replace('/[^0-9]/', '', $number);
if ((substr($number, 0, 2) != '27') || strlen($number) != 11)
{
    return false;
}
// else valid

答案 4 :(得分:0)

最佳使用正则表达式-0((60[3-9]|64[0-5]|66[0-5])\d{6}|(7[1-4689]|6[1-3]|8[1-4])\d{7})

正则表达式测试器-https://www.regextester.com/?fam=105448

source