Skip to content

Instantly share code, notes, and snippets.

@dhassanali
Last active February 11, 2019 11:36
Show Gist options
  • Save dhassanali/872591d2af6f45873a7af327d0f2c8d2 to your computer and use it in GitHub Desktop.
Save dhassanali/872591d2af6f45873a7af327d0f2c8d2 to your computer and use it in GitHub Desktop.
Saudi Mobile Number
<?php
/**
* Created by PhpStorm.
* User: Dev_Hassan
* Date: 12/4/17
* Time: 8:37 PM
*/
class SaudiMobileNumber
{
public static function is($mobileNumber)
{
if(is_null($mobileNumber) || empty($mobileNumber))
return false;
$mobileNumberLength = mb_strlen($mobileNumber);
if(mb_substr(trim($mobileNumber), 0, 1) == '+')
$modifiedMobileNumber = mb_substr($mobileNumber, 1, $mobileNumberLength);
else
$modifiedMobileNumber = $mobileNumber;
$modifiedMobileNumberLength = mb_strlen($modifiedMobileNumber);
if ($modifiedMobileNumberLength == 12 && mb_substr($modifiedMobileNumber,0,3) == "966")
return true;
if ($modifiedMobileNumberLength == 10 && mb_substr($modifiedMobileNumber,0,2) == "05")
return true;
if ($modifiedMobileNumberLength == 9 && mb_substr($modifiedMobileNumber,0,1) == "5")
return true;
return false;
}
public static function toFormalCase($mobileNumber)
{
if(is_null($mobileNumber) || empty($mobileNumber))
return null;
$mobileNumberLength = mb_strlen($mobileNumber);
if(mb_substr(trim($mobileNumber), 0, 1) == '+')
$modifiedMobileNumber = mb_substr($mobileNumber, 1, $mobileNumberLength);
else
$modifiedMobileNumber = $mobileNumber;
$modifiedMobileNumberLength = mb_strlen($modifiedMobileNumber);
if ($modifiedMobileNumberLength == 12 && mb_substr($modifiedMobileNumber,0,3) == "966")
return $modifiedMobileNumber;
if ($modifiedMobileNumberLength == 10 && mb_substr($modifiedMobileNumber,0,2) == "05")
return '966'.mb_substr($modifiedMobileNumber,1,9);
if ($modifiedMobileNumberLength == 9 && mb_substr($modifiedMobileNumber,0,1) == "5")
return '966'.$modifiedMobileNumber;
return null;
}
public static function toCommonCase($mobileNumber)
{
if(is_null($mobileNumber) || empty($mobileNumber))
return null;
$mobileNumberLength = mb_strlen($mobileNumber);
if(mb_substr(trim($mobileNumber), 0, 1) == '+')
$modifiedMobileNumber = mb_substr($mobileNumber, 1, $mobileNumberLength);
else
$modifiedMobileNumber = $mobileNumber;
$modifiedMobileNumberLength = mb_strlen($modifiedMobileNumber);
if ($modifiedMobileNumberLength == 12 && mb_substr($modifiedMobileNumber,0,3) == "966")
return '0'.mb_substr($modifiedMobileNumber, 3, 9);
if ($modifiedMobileNumberLength == 10 && mb_substr($modifiedMobileNumber,0,2) == "05")
return $modifiedMobileNumber;
if ($modifiedMobileNumberLength == 9 && mb_substr($modifiedMobileNumber,0,1) == "5")
return '0'.$modifiedMobileNumber;
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment