验证南非手机号码

问题描述 投票:0回答:6

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

php
6个回答
14
投票

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

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

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

8
投票

尝试使用正则表达式,例如:

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

翻译成 PHP 就是:

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

1
投票

获取输入并去掉所有非数字的内容。

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

数剩余的数字。

如果长度为 9 位,请在前面加上“+27”

如果长度为 11 位,请在前面加上“+”

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


1
投票

最佳使用正则表达式 -

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

来源


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

0
投票

+27653562018 这个号码是我的,也是一个例子

© www.soinside.com 2019 - 2024. All rights reserved.