Multiple instances

If you have multiple telephone inputs on the same page, it is safe to initialise International Telephone Input on each of them individually in your JavaScript. You can use different initialisation options in each case e.g. in the demo below, we specify different placeholderNumberType values for each of the first two instances. We also specify the onlyCountries option in the third instance, so that country dropdown only includes three countries, but this does not affect the first two instances. Note that if you use loadUtils or geoIpLookup options across multiple instances, those requests will only be fired once, and the result will be shared.

Demo

Home:
Mobile:
Vacation:

Markup

<table>
  <tr>
    <td>Home:</td>
    <td><input id="home" type="tel" /></td>
  </tr>
  <tr>
    <td>Mobile:</td>
    <td><input id="mobile" type="tel" /></td>
  </tr>
  <tr>
    <td>Vacation:</td>
    <td><input id="vacation" type="tel" /></td>
  </tr>
</table>

Code

const inputHome = document.querySelector("#home");
const inputMobile = document.querySelector("#mobile");
const inputVacation = document.querySelector("#vacation");

window.intlTelInput(inputHome, {
  initialCountry: 'gb',
  placeholderNumberType: 'FIXED_LINE',
  loadUtils: () => import("/intl-tel-input/js/utils.js?1733756310855") // for formatting/placeholders etc
});
window.intlTelInput(inputMobile, {
  initialCountry: 'gb',
  placeholderNumberType: 'MOBILE',
  loadUtils: () => import("/intl-tel-input/js/utils.js?1733756310855"),
});
window.intlTelInput(inputVacation, {
  onlyCountries: ['es', 'fr', 'it'],
  loadUtils: () => import("/intl-tel-input/js/utils.js?1733756310855"),
});