私はまだPHPのpreg_replace関数を頭に入れようとしています。次のモバイル番号をモバイル番号の標準27xxxxxxxxxにフォーマットするにはどうすればよいですか?南アフリカの携帯電話番号の書式設定
例:
083-123-4678 27831234567の
開始番号すべてがいずれかの081、082、083、084または071、072、073、074である必要があります27831234567 278312345678であるべきである必要があります
私はまだPHPのpreg_replace関数を頭に入れようとしています。次のモバイル番号をモバイル番号の標準27xxxxxxxxxにフォーマットするにはどうすればよいですか?南アフリカの携帯電話番号の書式設定
例:
083-123-4678 27831234567の
開始番号すべてがいずれかの081、082、083、084または071、072、073、074である必要があります27831234567 278312345678であるべきである必要があります
これはそれを行う必要があります。
function Number_SA($number)
{
$number = preg_replace(array('~[^0-9]~', '~^27~'), '', $number);
if (preg_match('~^(?:07[1234]|08[1234])~', $number) > 0)
{
return sprintf('%d%s', 27, $number);
}
return false;
}
使用法:
*で始まるのみと仮定var_dump(Number_SA('083-123-4678')); // 27831234567
var_dump(Number_SA('085-123-4678')); // false
var_dump(Number_SA('+278312345678')); // false (doesn't start with 083)
function Number_SA($numbers)
{
$number = preg_replace(array('~[^0-9]~', '~^27~'), '', $numbers);
if (preg_match('~^(?:07[1234])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
elseif (preg_match('~^(?:08[123458])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
elseif (preg_match('~^(?:01[123468])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);
if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
elseif (preg_match('~^(?:02[1])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);
if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
elseif (preg_match('~^(?:03[1])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);
if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
elseif (preg_match('~^(?:04[0134])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);
if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
elseif (preg_match('~^(?:05[17])~', $number) > 0)
{
$output= sprintf('%d%s', 27, $number);
if ((strlen($output) < 12)| (strlen($output) > 13)){ return false;}
else{return $output;}
}
else{return false;}
return false;
}
$phoneno=array();
array_push($phoneno,(Number_SA('083-313-2605'))); //true
array_push($phoneno,(Number_SA('067-313-26055')));//false
array_push($phoneno,(Number_SA('021-313-260'))); //false
array_push($phoneno,(Number_SA('0211-313-8903')));//true
foreach ($phoneno as $number){
if($number == ""){ echo "Phone Number is null"."<br/>";}
else{ echo "This is valid: ".$number."<br/>";}}
>> 081、082、083、084、または071、072、073、074 [7 | 8] [1 | 2 | 3 | 4]理由で愚かな考えでありますATAには新しい番号がつきます。また、ケータリングしていない078もあります。 – drubin