
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
ngx-intl-tel-input-gg
Advanced tools
Forked from https://github.com/webcat12345/ngx-intl-tel-input
An Angular package for entering and validating international telephone numbers. It adds a flag dropdown to any input, detects the user's country, displays a relevant placeholder and provides formatting/validation methods.

Compatibility:
Validation with google-libphonenumber
| ngx-intl-tel-input-gg | Angular | ngx-bootstrap |
|---|---|---|
| 1.x.x | 9.x.x - 17.x.x | 6.0.0 |
$ npm install intl-tel-input@17.0.3 --save
$ npm install google-libphonenumber --save
$ ng add ngx-bootstrap
If you do not wish to use Bootstrap's global CSS, we now package the project with only the relevant
bootstrap styling needed for the dropdown. As such, you can remove the bootstrap styling from angular.json.
Further, Angular CLI should tree-shake the rest of Ngx-Boostrap away if you don't utilize other dependencies from the bootstrap package. This should keep this dependency a lean feature-add
Add 'intl-tel-input' style file:
./node_modules/intl-tel-input/build/css/intlTelInput.css
to angular.json styles array:
"styles": [
"./node_modules/intl-tel-input/build/css/intlTelInput.css",
"src/styles.css"
],
$ npm install ngx-intl-tel-input-gg --save
Add NgxIntlTelInputModule to your module file:
imports: [NgxIntlTelInputModule];
Refer to main app in this repository for working example.
Or this:
<form #f="ngForm" [formGroup]="phoneForm">
<ngx-intl-tel-input
[cssClass]="'custom'"
[preferredCountries]="[CountryISO.UnitedStates, CountryISO.UnitedKingdom]"
[enableAutoCountrySelect]="false"
[enablePlaceholder]="true"
[searchCountryFlag]="true"
[searchCountryField]="[SearchCountryField.Iso2, SearchCountryField.Name]"
[selectFirstCountry]="false"
[selectedCountryISO]="CountryISO.India"
[maxLength]="15"
[phoneValidation]="true"
[inputId]="my-input-id"
name="phone"
formControlName="phone"
></ngx-intl-tel-input>
</form>
| Options | Type | Default | Description |
|---|---|---|---|
| cssClass | string | control-form | Bootstrap input css class or your own custom one. |
| preferredCountries | <CountryISO>[] | [] | List of countries, which will appear at the top. |
| onlyCountries | <CountryISO>[] | [] | List of manually selected countries, which will appear in the dropdown. |
| enableAutoCountrySelect | boolean | true | Toggle automatic country (flag) selection based on user input. |
| enablePlaceholder | boolean | true | Input placeholder text, which adapts to the country selected. |
| customPlaceholder | string | None | Custom string to be inserted as a placeholder. |
| numberFormat | <PhoneNumberFormat> | PhoneNumberFormat.International | Custom string to be inserted as a placeholder. |
| searchCountryFlag | boolean | false | Enables input search box for countries in the flag dropdown. |
| searchCountryField | <SearchCountryField>[] | [SearchCountryField.All] | Customize which fields to search in, if searchCountryFlag is enabled. Use SearchCountryField helper enum. |
| searchCountryPlaceholder | string | 'Search Country' | Placeholder value for searchCountryField |
| maxLength | number | None | Add character limit. |
| selectFirstCountry | boolean | true | Selects first country from preferredCountries if is set. If not then uses main list. |
| phoneValidation | boolean | true | Disable phone validation. |
| inputId | string | phone | Unique ID for <input> element. |
| selectedCountryISO | <CountryISO> | None | Set specific country on load. |
| separateDialCode | boolean | false | Visually separate dialcode into the drop down element. |
| countryChange | <Country> | None | Emits country value when the user selects a country from the dropdown. |
Following formats are supported
./projects/ngx-intl-tel-input./src/app with new functionality.$ npm run build_lib$ npm run copy-files$ npm run npm_pack$ npm run packageAfter building and creating package, you can use it locally too.
In your project run:
$ npm install --save {{path to your local '*.tgz' package file}}
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
FAQs
Forked from https://github.com/webcat12345/ngx-intl-tel-input
The npm package ngx-intl-tel-input-gg receives a total of 5,364 weekly downloads. As such, ngx-intl-tel-input-gg popularity was classified as popular.
We found that ngx-intl-tel-input-gg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.