PHP Classes

PHP Phone Number Format Normalizer: Parse and output a phone number in a given format

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 241 All time: 8,024 This week: 69Up
Version License PHP version Categories
phone-normalizer 1.0.0BSD License5PHP 5, Text processing, Parsers
Description 

Author

This package can parse and output a phone number in a given format.

It can take a given string with a phone number and parse it to extract its parts.

The package can also reformat the specified phone number to output according to a given format string.

Innovation Award
PHP Programming Innovation award nominee
December 2018
Number 2
Phone numbers are a frequently used means of contact that sites get from users. It is often used to confirm their identity.

If the user provides a phone number incorrectly, he will not be able to confirm his identity, and so he may not be able to access an application that requires identity information.

This package provides a solution to process a phone number entered by a user and parse it, so it can be validated and reformatted in a way that can be used correctly to confirm the identity of a user that owns the phone with a given number.

Manuel Lemos
Picture of Dmitry Mamontov
  Performance   Level  
Name: Dmitry Mamontov <contact>
Classes: 16 packages by
Country: Russian Federation Russian Federation
Age: 33
All time rank: 77925 in Russian Federation Russian Federation
Week rank: 43 Up7 in Russian Federation Russian Federation Up
Innovation award
Innovation award
Nominee: 6x

Example

<?php
/**
 * PhoneNormalizer
 *
 * Copyright (c) 2015, Dmitry Mamontov <d.slonyara@gmail.com>.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in
 * the documentation and/or other materials provided with the
 * distribution.
 *
 * * Neither the name of Dmitry Mamontov nor the names of his
 * contributors may be used to endorse or promote products derived
 * from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @package phone-normalizer
 * @author Dmitry Mamontov <d.slonyara@gmail.com>
 * @copyright 2015 Dmitry Mamontov <d.slonyara@gmail.com>
 * @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
 * @since File available since Release 1.0.1
 */

require 'vendor/autoload.php';

use
DmitryMamontov\PhoneNormalizer\PhoneNormalizer;

$n = new PhoneNormalizer;
$n->loadCodes('vendor/dmamontov/phone-normalizer/codes/codes.json');
$phone = $n->normalize('XXXXXXXXXXXXXX');
var_dump($phone->format('+#CC#(#c#)###-##-##'));


Details

Latest Stable Version License Total Downloads

Phone Normalizer

Pars, normalizes the phone number and results in a specified format.

Requirements

  • PHP version >=5.3.3

Installation

1) Install composer

2) Follow in the project folder:

composer require dmamontov/phone-normalizer ~1.0.1

In config composer.json your project will be added to the library dmamontov/phone-normalizer, who settled in the folder vendor/. In the absence of a config file or folder with vendors they will be created.

If before your project is not used composer, connect the startup file vendors. To do this, enter the code in the project:

require 'path/to/vendor/autoload.php';

Examples of use

use DmitryMamontov\PhoneNormalizer\PhoneNormalizer;

$n = new PhoneNormalizer;
$n->loadCodes('vendor/dmamontov/phone-normalizer/codes/codes.json');

$phone = $n->normalize('XXXXXXXXXXXXXX');
var_dump($phone->format('+#CC#(#c#)###-##-##'));


  Files folder image Files (7)  
File Role Description
Files folder imagecodes (1 file)
Files folder imagelib (1 directory)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file example.php Example Example script
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (7)  /  codes  
File Role Description
  Accessible without login Plain text file codes.json Data Auxiliary data

  Files folder image Files (7)  /  lib  
File Role Description
Files folder imageDmitryMamontov (1 directory)

  Files folder image Files (7)  /  lib  /  DmitryMamontov  
File Role Description
Files folder imagePhoneNormalizer (1 file, 1 directory)

  Files folder image Files (7)  /  lib  /  DmitryMamontov  /  PhoneNormalizer  
File Role Description
Files folder imageObject (1 file)
  Plain text file PhoneNormalizer.php Class Class source

  Files folder image Files (7)  /  lib  /  DmitryMamontov  /  PhoneNormalizer  /  Object  
File Role Description
  Plain text file PhoneObject.php Class Class source

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:241
This week:0
All time:8,024
This week:69Up