Поиск людей по номеру телефона

Anonymous Service

When conducting a phone tracking on a device (cellphone or tablet), the operations on the target device run in the background. It means that the person that is holding the phone or using it cannot be aware of this operation. The data is normally constantly sent to the signal center, a system removes the encryption to make it readable by our system. So, basically, the signal center is sharing the data with our platform who runs the rest of the tracking processes.

You are surely going to ask yourself if this is an invisible process, how I can know if my phone is not being tracked. Well, some tools detect those processes and make them visible. You should also consider, download a VPN to ensure more security through the data transmission.

High Accuracy

Before officially launching this service, our team ran multiple accuracy tests in order to determine the accuracy of the system. The results were overall positive; you can trace a phone number and expect to find its right position 95%. This percentage is not stable, it can decreased or increased if there are elements in the environment that affect the signal power.

Under rare circumstances, if the cellphone is within an environment that affects badly the power of the signal or kills it, it is hard or impossible to trace the phone number. It’s due to the fact that the system is based on GSM technology that only function within a signal eligible perimeter.

The high accuracy portrayed through a significant percentage of 95%, shows that this is one the strongest phone-tracking tool.

Online Demo

Highlights of functionality

  • Parsing/formatting/validating phone numbers for all countries/regions of the world.
  • — gets the type of the number based on the number itself; able to distinguish Fixed-line, Mobile, Toll-free, Premium Rate, Shared Cost, VoIP and Personal Numbers (whenever feasible).
  • — gets a confidence level on whether two numbers could be the same.
  • / — provides valid example numbers for all countries/regions, with the option of specifying which type of example phone number is needed.
  • — full validation of a phone number for a region using length and prefix information.
  • — provides geographical information related to a phone number.
  • — provides timezone information related to a phone number.
  • — provides carrier information related to a phone number.

format()

Formats the supplied object in the constant.

var_dump($phoneNumberUtil->format($phoneNumberObject, \libphonenumber\PhoneNumberFormat::E164));
// string(13) "+441174960123"

var_dump($phoneNumberUtil->format($phoneNumberObject, \libphonenumber\PhoneNumberFormat::INTERNATIONAL));
// string(16) "+44 117 496 0123"

var_dump($phoneNumberUtil->format($phoneNumberObject, \libphonenumber\PhoneNumberFormat::NATIONAL));
// string(13) "0117 496 0123"

var_dump($phoneNumberUtil->format($phoneNumberObject, \libphonenumber\PhoneNumberFormat::RFC3966));
// string(20) "tel:+44-117-496-0123"

Formats the supplied object based on the .

var_dump($phoneNumberUtil->formatOutOfCountryCallingNumber($phoneNumberObject, 'FR'));
// string(18) "00 44 117 496 0123"

var_dump($phoneNumberUtil->formatOutOfCountryCallingNumber($phoneNumberObject, 'US'));
// string(19) "011 44 117 496 0123"

var_dump($phoneNumberUtil->formatOutOfCountryCallingNumber($phoneNumberObject, 'GB'));
// string(13) "0117 496 0123"

Formats the supplied object in a way that it can be dialled from the . It’s third parameter determines whether there is any formatting applied to the number.

$australianPhoneNumberObject = $phoneNumberUtil->parse('1300123456', 'AU');

var_dump($phoneNumberUtil->formatNumberForMobileDialing($australianPhoneNumberObject, 'AU', true));
// string(12) "1300 123 456"

var_dump($phoneNumberUtil->formatNumberForMobileDialing($australianPhoneNumberObject, 'AU', false));
// string(10) "1300123456"

var_dump($phoneNumberUtil->formatNumberForMobileDialing($australianPhoneNumberObject, 'US', true));
// string(0) ""

If the number can not be dialled from the region supplied, then an empty string is returned.

Formats a phone number in national format for dialing using the carrier as specified in the .

The will always be used regardless of whether the phone number already
has a preferred domestic carrier code stored. If contains an empty string, returns the number in national format without any carrier code.

$arPhoneNumberObject = $phoneNumberUtil->parse('92234654321', 'AR');

var_dump($phoneNumberUtil->formatNationalNumberWithCarrierCode($arPhoneNumberObject, 14);
// string(16) "02234 14 65-4321"

Formats a phone number in national format for dialing using the carrier as specified in the field of the object passed in. If that is missing, passed in instead.

If there is no , and the contains an empty string, return the number in national format without any carrier code.

Use instead if the carrier code passed in should take precedence over the number’s when formatting.

$arNumber = new PhoneNumber();
$arNumber->setCountryCode(54)->setNationalNumber(91234125678);
$arNumber->setPreferredDomesticCarrierCode("19");

var_dump($phoneNumberUtil->formatNationalNumberWithPreferredCarrierCode($arNumber, '15');
// string(16) "01234 19 12-5678"

Ответы на популярные вопросы пользователей (FAQ)

У многих людей во время пользования сервисом возникают вопросы, которые вполне можно назвать “банальными” и “заезженными”

Чтобы и вы не столкнулись с непониманием и трудностями при эксплуатации функций сайта (платных или бесплатных – не важно), предлагаем вам ознакомиться с кратким FAQ.. Могу ли я создать виртуальный номер?

 – Нет, такая возможность отсутствует

Работа сервиса основывается на наличии у нас в распоряжении реальных сим-карт мобильных операторов различных стран и регионов. Соовтетственно, пользователь может получить виртуальный номер бесплатно или платно, но только выбрав вариант из доступного перечня. Он достаточно широк, поэтому вы легко найдете для себя что-нибудь подходящее.

Могу ли я создать виртуальный номер?

 – Нет, такая возможность отсутствует. Работа сервиса основывается на наличии у нас в распоряжении реальных сим-карт мобильных операторов различных стран и регионов. Соовтетственно, пользователь может получить виртуальный номер бесплатно или платно, но только выбрав вариант из доступного перечня. Он достаточно широк, поэтому вы легко найдете для себя что-нибудь подходящее.

Можно ли принимать на сотовый номер бесплатно сегментированные сообщения?

 – Да, на нашем сервисе отлично реализована функция работы с такими смс. Чтобы отправленные кусочки текста не затерялись между сообщениями других пользователей, они все группируются в одно большое SMS, которое высвечивается на экране лишь после доставки последней части. А если вы беспокоитесь за сохранность информации, всегда можно купить виртуальный номер для ВК и других активностей. Сообщения с него будут размещаться у вас в профиле и не попадут на всеобщее обозрение.

Возникла необходимость создать кошелек в платежной системе, взять кредит в банке, оформить займ в МФО. Могу ли я это сделать с помощью ваших номеров?

 – Нет, в связи с большим количеством случаев мошенничества, на этом и подобных сервисах запрещено использовать виртуальные номера бесплатно с целью регистрации или получения доступа к любым кредитно-финансовым ресурсам. Вы просто не сможете получить смс из некоторых источников, так как они по умолчанию находятся в нашем черном списке.

Можно ли использовать виртуальный номер телефона бесплатно для ВК и других социальных сетей?

 – Да, вы можете зарегистрировать себе страничку, не привязывая к ней свою сим-карту и не нарушая свою конфиденциальность. Но в связи с большим количеством таких же желающих, использовать конкретный телефон иногда бывает проблематично. Его уже могут занять. Если вы хотите гарантированно быстро создать новый профиль, рекомендуется приобрести виртуальный номер телефона для ВК по подписке на минимальный период времени и использовать его для создания любых страниц на посещаемых ресурсах.

Что делать, если SMS — сообщения, которые я заказал на виртуальный телефон бесплатно, приходят с большой задержкой или вообще не приходят?

 – Обычно такая ситуация происходит по причине несовместимости конкретных ресурсов и операторов сотовой связи или проблем с сетью у этих операторов. Решить проблему можно сменой одного номера на другой (постарайтесь выбрать поставщика услуг, который расположен в одном регионе с ресурсом, на котором вы проходите регистрацию). К примеру, лучший виртуальный номер для ВК бесплатно – это российский, белорусский, украинский или другой СНГшный оператор.

Могу ли я заменить платные виртуальные номера онлайн бесплатно, если они мне не подошли?

 – администрация нашего проекта очень дорожит его репутацией, поэтому потребители платных услуг могут не волноваться по поводу их качества. В случае возникновения проблем по технической части или несоответствия заявленному функционалу, вопрос будет решаться в пользу заказчика. И один из вариантов – замена выданного номера на другой, способный удовлетворить запросы клиента.

Что собой представляет наш сервис

Предназначение данного проекта – обеспечение пользователей сети виртуальными телефонными номерами для отправки и получения смс-сообщений на платной и бесплатной основе. Работа ведется через реальные, легальным образом полученные сим-карты действующих сотовых операторов разных стран мира, включая такие популярные регионы, как США, Канада, Франция, Германия и еще с десяток других (охват со временем будет только увеличиваться). Термин “виртуальные” здесь употребляется лишь потому, что посетители сайта получают доступ к номерам через онлайн-функционал. Для доступа к нужным им возможностям, пользователям потребуется всего лишь несколько кликов мышью – чтобы перейти на страницу со списком выбора стран и номеров.

Кроме того, мы не только предоставляем бесплатные мобильные номера для получения смс-сообщений, но и позволяем купить виртуальный телефон для отправки с его помощью сообщений и организации массовых рассылок. Работать с нашим сервисом удобно и выгодно по причине наличия следующих преимуществ:

  • Экономия средств. Даже если для отправки смс вы не используете бесплатный номер телефона, а предпочитаете заказ платной услуги, обойдется это для вас все равно гораздо дешевле, чем если бы рассылка сообщений производилась по тарифам вашего мобильного оператора. Особенно это актуально в случаях, когда пользователь пытается переслать смс на номер другого поставщика сотовых услуг и даже в другую страну. Если не использовать виртуальный телефон, можно мгновенно лишиться всего баланса со счета на сим-карте.

  • Удобство работы. Интерфейс нашего сервиса продуман до мелочей и не содержит ничего лишнего, поэтому разобраться в его функциях сможет даже человек, который не особо владеет компьютером. Плюс не стоит забывать, что компьютерная клавиатура – куда более удобный способ ввода текста, чем сенсорный экран смартфона или кнопки на обычном телефоне. Если нужно отправить несколько сообщений с солидным количеством текста, да еще и нескольким адресатам, виртуальный номер – это лучший вариант.

  • Высокий уровень конфиденциальности и безопасности. Нами гарантируется полная сохранность вашей личной информации в случае использования платных услуг (бесплатные номера находятся в общем пользовании, поэтому нужно быть осторожными при передаче важных данных). Администрация не будет сохранять в личных целях и передавать вашу переписку третьим лицам, а также не станет разглашать другие подробности о личности пользователя – IP, с которого он заходил на сайт, используемый браузер и пр.

Если эти преимущества вас заинтересовали, можете смело приступать к знакомству с нашим сервисом на практике. Но сначала обязательно ознакомьтесь с инструкцией по работе, касающейся приема и отправки сообщений с предоставляющихся платных и бесплатных номеров.

Compatibility

This tool is compatible with the majority of the devices. Since, the producers adopted the global positioning technology, compatibility issues have importantly decreased. Nowadays, the entire phone companies and phone operators uses the same technology, the only thing that’s different is the branding. In terms of GPS, the service is the same. What can make the difference is the quality of the transmitters that enhance the signal power and thus offer greater accuracy.

You can find on the tracing panel, a list of our certified collaborators. Different manufacturers and phone operators all around the world, that use the same tracing funnel.

Easy to use

This simple tool does not require extra information to operate. It is easy to use, leveraging the power of modern communication infrastructures to enable you to trace a phone number for free.

With no doubts, our software is the best In terms of phone tracing. You can trace a mobile with few clicks; all you need to provide is a correct phone number. In the previous version of Phonenumber-trace, users often found complexities when it comes to date entry. They forget to either put the country code or enter correctly the phone number that fits global tracing criteria. That is why we automated the system and developed its abilities to run data researches. This operation aims at enhancing the positive tracing status, as the system can’t function with distorted information.

Although, to avoid abuses we may require you to go through a verification process to make sure you hold the right to conduct a phone number tracing. Once, you complete it, you will automatically be redirected to a map that shows you precisely the position of your mobile.

JavaScript

Versioning and Announcements

We generally choose the release number following these guidelines.

If any of the changes pushed to master since the last release are incompatible
with the intent / specification of an existing libphonenumber API or may cause
libphonenumber (Java, C++, or JS) clients to have to change their code to keep
building, we publish a major release. For example, if the last release were
7.7.3, the new one would be 8.0.0.

If any of those changes enable clients to update their code to take advantage
of new functionality, and if clients would have to roll-back these changes in
the event that the release was marked as «bad», we publish a minor release. For
example, we’d go from 7.7.3 to 7.8.0.

Otherwise, including when a release contains only
changes, we publish a sub-minor release,
e.g. 7.7.3 to 7.7.4.

Quick Examples

Let’s say you have a string representing a phone number from Switzerland. This
is how you parse/normalize it into a object:

String swissNumberStr = "044 668 18 00";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
  PhoneNumber swissNumberProto = phoneUtil.parse(swissNumberStr, "CH");
} catch (NumberParseException e) {
  System.err.println("NumberParseException was thrown: " + e.toString());
}

At this point, contains:

{
  "country_code": 41,
  "national_number": 446681800
}

is a class that was originally auto-generated from
with necessary modifications for efficiency. For details on
the meaning of each field, refer to .

Now let us validate whether the number is valid:

boolean isValid = phoneUtil.isValidNumber(swissNumberProto); // returns true

There are a few formats supported by the formatting method, as illustrated
below:

// Produces "+41 44 668 18 00"
System.out.println(phoneUtil.format(swissNumberProto, PhoneNumberFormat.INTERNATIONAL));
// Produces "044 668 18 00"
System.out.println(phoneUtil.format(swissNumberProto, PhoneNumberFormat.NATIONAL));
// Produces "+41446681800"
System.out.println(phoneUtil.format(swissNumberProto, PhoneNumberFormat.E164));

You could also choose to format the number in the way it is dialed from another
country:

// Produces "011 41 44 668 1800", the number when it is dialed in the United States.
System.out.println(phoneUtil.formatOutOfCountryCallingNumber(swissNumberProto, "US"));

Quick start

All the classes lie in the namespace.

To obtain an instance of , use the method:

  • Using an international number: ;
  • Using a national number and a country code: ;

Validating a number

The method is quite permissive with numbers; it basically attempts to match a country code,
and validates the length of the phone number for this country.

If a number is really malformed, it throws a :

use Brick\PhoneNumber\PhoneNumber;
use Brick\PhoneNumber\PhoneNumberParseException;

try {
    $number = PhoneNumber::parse('+333');
}
catch (PhoneNumberParseException $e) {
    // 'The string supplied is too short to be a phone number.'
}

In most cases, it is recommended to perform an extra step of validation with or :

if (! $number->isPossibleNumber()) {
    // a more lenient and faster check than `isValidNumber()`
}

if (! $number->isValidNumber()) {
    // strict check relying on up-to-date metadata library
}

As a rule of thumb, do the following:

  • When the number comes from user input, do a full validation: and catch , then call (or for a more lenient check) if no exception occurred;
  • When the number is later retrieved from your database, and has been validated before, you can just perform a blind .

Formatting a number

Basic formatting

You can use with constants from the PhoneNumberFormat class:

$number = PhoneNumber::parse('+41446681800');
$number->format(PhoneNumberFormat::E164); // +41446681800
$number->format(PhoneNumberFormat::INTERNATIONAL); // +41 44 668 18 00
$number->format(PhoneNumberFormat::NATIONAL); // 044 668 18 00
$number->format(PhoneNumberFormat::RFC3966); // tel:+41-44-668-18-00

Formatting to call from another country

You may want to present a phone number to an audience in a specific country, with the correct international
prefix when required. This is what does:

$number = PhoneNumber::parse('+447123456789');
$number->formatForCallingFrom('GB'); // 07123 456789
$number->formatForCallingFrom('FR'); // 00 44 7123 456789
$number->formatForCallingFrom('US'); // 011 44 7123 456789

Number types

In certain cases, it is possible to know the type of a phone number (fixed line, mobile phone, etc.), using
the method, which returns a constant from the PhoneNumberType class:

PhoneNumber::parse('+336123456789')->getNumberType(); // PhoneNumberType::MOBILE
PhoneNumber::parse('+33123456789')->getNumberType(); // PhoneNumberType::FIXED_LINE

If the type is unknown, the value is returned.
Check the class for all possible values.

Number information

You can extract the following information from a phone number:

$number = PhoneNumber::parse('+447123456789');
echo $number->getRegionCode(); // GB
echo $number->getCountryCode(); // 44
echo $number->getNationalNumber(); // 7123456789

Example numbers

You can get an example number for a country code and an optional number type (defaults to fixed line).
This can be useful to use as a placeholder in an input field, for example:

echo PhoneNumber::getExampleNumber('FR'); // +33123456789
echo PhoneNumber::getExampleNumber('FR', PhoneNumberType::MOBILE); // +33612345678

The return type of is a instance, so you can format it as you like:

echo PhoneNumber::getExampleNumber('FR')->formatForCallingFrom('FR'); // 01 23 45 67 89

If no example phone number is available for the country code / number type combination, a is thrown.

PhoneNumberTextField

To use the AsYouTypeFormatter, just replace your UITextField with a PhoneNumberTextField (if you are using Interface Builder make sure the module field is set to PhoneNumberKit).

You can customize your TextField UI in the following ways

  • will display the country code for the . The is displayed in the of the text field with it’s size set based off your text size.
  • uses to show an example number for the . In addition when is set, the country code’s prefix will automatically be inserted and removed when editing changes.

PhoneNumberTextField automatically formats phone numbers and gives the user full editing capabilities. If you want to customize you can use the PartialFormatter directly. The default region code is automatically computed but can be overridden if needed (see the example given below).

class MyGBTextField: PhoneNumberTextField {
    override var defaultRegion String {
        get {
            return "GB"
        }
        set {} // exists for backward compatibility
    }
}
let textField = PhoneNumberTextField()

PartialFormatter().formatPartial("+336895555") // +33 6 89 55 55

You can also query countries for a dialing code or the dialing code for a given country

phoneNumberKit.countries(withCode: 33)
phoneNumberKit.countryCode(for: "FR")

Prohibitions and restrictions

In order to exclude the possible use of the service for fraudulent purposes and for other illegal activities, the virtual number for SMS receiving have the in-built filters. The messages coming from the list of the forbidden addresses (such as bank\ credit organizations, electronic payment systems and the similar projects – you can see this list on our website) will not be shown on the page of the incoming SMS.The SMS receiving for free works in free mode in other cases. There are no prohibitions or restrictions concerning the country of your residence and so, a user may live in any country, just having the internet access. There are no limits concerning the quantity of the received messages. You can register dozen and even hundreds of times if it is necessary. But sometimes the problem may happen: if you are trying to use the system and the number you picked is not available, that would mean the phone for SMS receiving is already being used by another user, and the doubles are unacceptable. But this may be solved by just choosing some other phone number.To sum up, all that has been said by highlighting the main points:

  1. Our service provides any internet user with the phone numbers for SMS receiving, and, by the way, which is free of charge – it is not one-time or monthly fee; you also don’t need to enter your personal data if it is not necessary.
  2. The SMS receiving for free is available with no registration, which has its pros and cons. The positive side is that you economize your time, and the negative one is that your messages are available for all the users and they can easily see them. If someone interested in you will get enough of data, this person will be able to log in using your account.
  3. Each phone number has the real SIM-card of a mobile operator of some country. The list has the number from tens of countries – Russian Federation, the USA, France and many more.
  4. Free phones for SMS receiving may be used for different purposes, except the illegal ones. The usage of this service along with automated programs may be another reason for the blocking.

If you agree on these terms, get ready to choose a free phone number for SMS receiving from the available list and use it to complete your tasks. Thanks for your attention and don’t forget to save our website at your bookmarks.

Как вызвать

Чтобы вызвать метод, и подтвердите почту.

Пример запроса:

cURL

curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Token ${API_KEY}" \
-H "X-Secret: ${SECRET_KEY}" \
-d '' \
https://cleaner.dadata.ru/api/v1/clean/phone

.NET

// https://github.com/hflabs/dadata-csharp

var token = "${API_KEY}";
var secret = "${SECRET_KEY}";
var api = new CleanClientAsync(token, secret);
var result = await api.Clean<Phone>("раб 846)231.60.14 *139");

Go

// https://github.com/webdeskltd/dadata

token := "${API_KEY}"
secret := "${SECRET_KEY}"
dadata := dadata.NewDaData(token, secret)
result, err := dadata.CleanPhones("раб 846)231.60.14 *139")

Node.js

var url = "https://cleaner.dadata.ru/api/v1/clean/phone";
var token = "${API_KEY}";
var secret = "${SECRET_KEY}";
var query = "раб 846)231.60.14 *139";

var options = {
    method: "POST",
    mode: "cors",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Token " + token,
        "X-Secret": secret
    },
    body: JSON.stringify()
}

fetch(url, options)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));

PHP

// https://github.com/hflabs/dadata-php

$token = "${API_KEY}";
$secret = "${SECRET_KEY}";
$dadata = new \Dadata\DadataClient($token, $secret);
$result = $dadata->clean("phone", "раб 846)231.60.14 *139");

Python

# https://github.com/hflabs/dadata-py

from dadata import DadataAsync
token = "${API_KEY}"
secret = "${SECRET_KEY}"
dadata = DadataAsync(token, secret)
result = await dadata.clean("phone", "раб 846)231.60.14 *139")

Укажите при вызове:

  • .
  • — API-ключ.
  • — секретный ключ.

Тело запроса передавайте в кодировке .

Trace a mobile number

It is one of the most useful services, as it helps the users with robberies, parental control and managerial issues. Each person will eventually face in his life a situation where he will need to trace a mobile number. You can’t trace a mobile number as easy as it is portrayed in movies, when the detectives are trying to keep the suspect in line for 30 seconds. In fact, the process is much complicated and require the mobilization of many assets. Moreover, the legislation can be a real obstacle to that, because having such tools at the disposal of everyone can damage the stability of a country. We will be having a paranoid life, checking constantly if we are being followed, if someone is conducting surveillance on us.

To avoid such problems, we implemented an identity verification process to limit the abuses. This measure is also protective against robots, who can exploit the system and harm our servers. Other people can automate systems and works as resellers of a free service. We want every person that wants to trace a mobile number, to be aware of its legal position and it is our rule to make sure that everything works in accordance with the law. We took care of building a system in full accordance with the laws, especially in our modern context when privacy and data are a big polemic.

So, take it easy and follow the instructions to trace a mobile number. We’ve put everything in order, and if something eventually goes wrong, your legal position is fully protected.

Start by accessing the tracing panel, where you should enter your device’s data. A comment section is available: if you have any question look among the comments, you may find your answer.

You can also post your question; you will get a response within 48 hours, or if you wish to keep a private contact, send a message through our contact section. Once, the tracking process is over, you may face an identity verification; it normally takes 2-3 minutes to complete it. Make sure to enter valid info and you will get redirected to a map that shows your mobile’s position.

Basic usage

var PhoneNumber = require( 'awesome-phonenumber' );

var pn = new PhoneNumber( '0707123456', 'SE' );
pn.isValid( );  // -> true
pn.isMobile( ); // -> true
pn.canBeInternationallyDialled( ); // -> true
pn.getNumber( );                   // -> '+46707123456'
pn.getNumber( 'e164' );            // -> '+46707123456' (default)
pn.getNumber( 'international' );   // -> '+46 70 712 34 56'
pn.getNumber( 'national' );        // -> '070-712 34 56'
pn.getNumber( 'rfc3966' );         // -> 'tel:+46-70-712-34-56'
pn.getNumber( 'significant' );     // -> '707123456'
pn.getRegionCode( );               // -> 'SE'
pn.getCountryCode( );              // -> 46

pn.toJSON( );                  // -> json blob, so that:
JSON.stringify( pn, null, 4 ); // -> This:
// {
//     "canBeInternationallyDialled": true,
//     "number": {
//         "input": "0707123456",
//         "international": "+46 70 712 34 56",
//         "national": "070-712 34 56",
//         "e164": "+46707123456",
//         "rfc3966": "tel:+46-70-712-34-56",
//         "significant": "707123456"
//     },
//     "regionCode": "SE",
//     "valid": true,
//     "possible": true,
//     "type": "mobile",
//     "possibility": "is-possible"
// }

Detect country

When constructed with a phone number on format (i.e. prefixed with a ), awesome-phonenumber will auto-detect the country:

PhoneNumber( '+46707123456' ).getRegionCode( ); // -> 'SE'

Need more customization?

You can access the metadata powering PhoneNumberKit yourself, this enables you to program any behaviours as they may be implemented in PhoneNumberKit itself. It does mean you are exposed to the less polished interface of the underlying file format. If you program something you find useful please push it upstream!

phoneNumberKit.metadata(for: "AU")?.mobile?.exampleNumber // 412345678

From Xcode 11+ :

  1. Select File > Swift Packages > Add Package Dependency. Enter in the «Choose Package Repository» dialog.
  2. In the next page, specify the version resolving rule as «Up to Next Major» with «3.3.0».
  3. After Xcode checked out the source and resolving the version, you can choose the «PhoneNumberKit» library and add it to your app target.

Alternatively, you can also add PhoneNumberKit to your file:

dependencies [
    .package(url: "https://github.com/marmelroy/PhoneNumberKit", .upToNextMajor(from: "3.3.1"))
]

Setting up with Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

$ brew update
$ brew install carthage

To integrate PhoneNumberKit into your Xcode project using Carthage, specify it in your :

source 'https://github.com/CocoaPods/Specs.git'
pod 'PhoneNumberKit', '~> 3.3'

Example Numbers

Returns an example object for the supplied.

var_dump($phoneNumberUtil->getExampleNumber('GB'));
// (PhoneNumber) Country Code: 44 National Number: 1212345678 ... 

Returns an example object for the supplied of the .

This also accepts the first parameter being a , where it will return a valid number
for the specified number type from any country. Just leave the second parameter as null.

var_dump($phoneNumberUtil->getExampleNumberForType('GB', \libphonenumber\PhoneNumberType::MOBILE));
// (PhoneNumber) Country Code: 44 National Number: 7400123456 ...

var_dump($phoneNumberUtil->getExampleNumberForType(\libphonenumber\PhoneNumberType::MOBILE));
// (PhoneNumber) Country Code: 1 National Number: 2015555555 ...

Returns an example invalid object for the supplied.

This can be useful for unit testing, where you want to test with an invalid number.
The number returned will be able to be parsed. It may also be a valid short number
for the region.

var_dump($phoneNumberUtil->getInvalidExampleNumber('GB'));
// (PhoneNumber) Country Code: 44 National Number: 121234567 ...

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий