Creating mask for a phone number is simple. The only required knowledge is the pattern mask expression with fixed characters . Read more about it in "Mask expression" section.
This page demonstrates some examples for different countries.
import {Maskito, MaskitoOptions} from '@maskito/core';
import maskitoOptions from './mask';
const element = document.querySelector('input,textarea')!;
const maskedInput = new Maskito(element, maskitoOptions);
// Call this function when the element is detached from DOM
maskedInput.destroy();
import {Component} from '@angular/core';
import {MaskitoDirective} from '@maskito/angular';
import type {MaskitoOptions} from '@maskito/core';
import mask from './mask';
@Component({
selector: 'my-app',
imports: [MaskitoDirective],
template: '<input [maskito]="options" />',
})
export class App {
readonly options: MaskitoOptions = mask;
}
import * as React from 'react';
import {useMaskito} from '@maskito/react';
import options from './mask';
export default function App() {
const maskedInputRef = useMaskito({options});
return <input ref={maskedInputRef} />;
}
import {createApp} from 'vue';
import {maskito} from '@maskito/vue';
import options from './mask';
const app = createApp({
template: '<input v-maskito="options" />',
directives: {maskito},
data: () => ({ options }),
});
The following example demonstrates a more complex mask. It shows how to make the country prefix non-removable. It is achieved by built-in postprocessor from @maskito/kit .
import {Maskito, MaskitoOptions} from '@maskito/core';
import maskitoOptions from './mask';
const element = document.querySelector('input,textarea')!;
const maskedInput = new Maskito(element, maskitoOptions);
// Call this function when the element is detached from DOM
maskedInput.destroy();
import {Component} from '@angular/core';
import {MaskitoDirective} from '@maskito/angular';
import type {MaskitoOptions} from '@maskito/core';
import mask from './mask';
@Component({
selector: 'my-app',
imports: [MaskitoDirective],
template: '<input [maskito]="options" />',
})
export class App {
readonly options: MaskitoOptions = mask;
}
import * as React from 'react';
import {useMaskito} from '@maskito/react';
import options from './mask';
export default function App() {
const maskedInputRef = useMaskito({options});
return <input ref={maskedInputRef} />;
}
import {createApp} from 'vue';
import {maskito} from '@maskito/vue';
import options from './mask';
const app = createApp({
template: '<input v-maskito="options" />',
directives: {maskito},
data: () => ({ options }),
});