🔍 Tìm kiếm trên Nosomovo Tech

Code php chuyển đổi đầu số điện thoại Việt Nam

Để thực hiện cập nhật số điện thoại trên các hệ thống tôi phát triển theo lịch chuyển đổi đầu số tôi có phát triển thư viện hàm bằng ngôn ngữ php để thực hiện việc chuyển đổi này. Sau đây tôi xin được chia sẻ với các bạn. Đoạn code php bên dưới thực hiện chuyển đổi tất cả đầu số điện thoại cố định và di động hiện có tại Việt Nam.

1. Code

class Phonenumber
{
    //private $phonetype='CELL'; //CELL, HOME
    private $arr_Prefix=array('CELL'=>array(
                                            '016966'=>'03966',
                                            '0169'=>'039',
                                            '0168'=>'038',
                                            '0167'=>'037',
                                            '0166'=>'036',
                                            '0165'=>'035',
                                            '0164'=>'034',
                                            '0163'=>'033',
                                            '0162'=>'032',
                                            '0120'=>'070',
                                            '0121'=>'079',
                                            '0122'=>'077',
                                            '0126'=>'076',
                                            '0128'=>'078',
                                            '0123'=>'083',
                                            '0124'=>'084',
                                            '0125'=>'085',
                                            '0127'=>'081',
                                            '0129'=>'082',
                                            '01992'=>'059',
                                            '01993'=>'059',
                                            '01998'=>'059',
                                            '01999'=>'059',
                                            '0186'=>'056',
                                            '0188'=>'058'
                                           ),
                              'HOME'=>array(
                                            '076'=>'0296',
                                            '064'=>'0254',
                                            '0281'=>'0209',
                                            '0240'=>'0204',
                                            '0781'=>'0291',
                                            '0241'=>'0222',
                                            '075'=>'0275',
                                            '056'=>'0256',
                                            '0650'=>'0274',
                                            '0651'=>'0271',
                                            '062'=>'0252',
                                            '0780'=>'0290',
                                            '0710'=>'0292',
                                            '026'=>'0206',
                                            '0511'=>'0236',
                                            '0500'=>'0262',
                                            '0501'=>'0261',
                                            '0230'=>'0215',
                                            '061'=>'0251',
                                            '067'=>'0277',
                                            '059'=>'0269',
                                            '0351'=>'0226',
                                            '04'=>'024',
                                            '039'=>'0239',
                                            '0320'=>'0220',
                                            '031'=>'0225',
                                            '0711'=>'0293',
                                            '08'=>'028',
                                            '0321'=>'0221',
                                            '058'=>'0258',
                                            '077'=>'0297',
                                            '060'=>'0260',
                                            '0231'=>'0213',
                                            '063'=>'0263',
                                            '025'=>'0205',
                                            '020'=>'0214',
                                            '072'=>'0272',
                                            '0350'=>'0228',
                                            '038'=>'0238',
                                            '030'=>'0229',
                                            '068'=>'0259',
                                            '057'=>'0257',
                                            '052'=>'0232',
                                            '0510'=>'0235',
                                            '055'=>'0255',
                                            '033'=>'0203',
                                            '053'=>'0233',
                                            '079'=>'0299',
                                            '022'=>'0212',
                                            '066'=>'0276',
                                            '036'=>'0227',
                                            '0280'=>'0208',
                                            '037'=>'0237',
                                            '054'=>'0234',
                                            '073'=>'0273',
                                            '074'=>'0294',
                                            '027'=>'0207',
                                            '070'=>'0270',
                                            '029'=>'0216'
                                            )
                             );
                             
    function convert($phonenumber)
    {
        if(!empty($phonenumber))
        {
            //1. Xóa ký tự trắng
            $phonenumber=str_replace(' ','',$phonenumber);
            //2. Xóa các dấu chấm phân cách
            $phonenumber=str_replace('.','',$phonenumber);
			//3. Xóa các dấu gạch nối phân cách
            $phonenumber=str_replace('-','',$phonenumber);
            //4. Xóa dấu mở ngoặc đơn
            $phonenumber=str_replace('(','',$phonenumber);
            //5. Xóa dấu đóng ngoặc đơn
            $phonenumber=str_replace(')','',$phonenumber);
            //6. Xóa dấu +
            $phonenumber=str_replace('+','',$phonenumber);
			//7. Chuyển 84 đầu thành 0
			if(substr($phonenumber,0,2)=='84')
			{
				$phonenumber='0'.substr($phonenumber,2,strlen($phonenumber)-2);
			}
			$dathaythe=false;
            foreach($this->arr_Prefix['HOME'] as $key=>$value)
			{
				//$prefixlen=strlen($key);
				if(strpos($phonenumber,$key)===0)
				{
				    $prefix=$key;
                    $prefixlen=strlen($key);
                    $phone=substr($phonenumber,$prefixlen,strlen($phonenumber)-$prefixlen);
                    $prefix=str_replace($key,$value,$prefix);
                    $phonenumber=$prefix.$phone;
					//$phonenumber=str_replace($key,$value,$phonenumber);
					$dathaythe=true;
					break;
				}
			}
			
			
			
			if($dathaythe==false)
			{
				foreach($this->arr_Prefix['CELL'] as $key=>$value)
				{
					//$prefixlen=strlen($key);
					if(strpos($phonenumber,$key)===0)
					{
					    $prefix=$key;
                        $prefixlen=strlen($key);
                        $phone=substr($phonenumber,$prefixlen,strlen($phonenumber)-$prefixlen);
                        $prefix=str_replace($key,$value,$prefix);
                        $phonenumber=$prefix.$phone;
						//$phonenumber=str_replace($key,$value,$phonenumber);
						$dathaythe=true;
						break;
					}
				}
			}
			
            return $phonenumber;
        }
        else
        {
            return false;
        }
    }
}

2. Test

Sau đây là đoạn code test hàm chuyển đổi trên:

$converter=new Phonenumber();
$number='01673532789';
echo $number.'=>';
$number=$converter->convert($number);
echo $number.'</br>';

3. Demo

4. Link APIhttp://api.nosomovo.xyz/convert/vnphonenumber/01676699666

Hy vọng hữu ích với các bạn!

Nosomovo

🏷️ Thẻ: , , , , , , ,

3 bình luận cho “Code php chuyển đổi đầu số điện thoại Việt Nam”

Để lại một bình luận