@bw2tecnologia/v mask

Tiny input mask library for Vue.js based on text-mask-core (~4kb) exposed as directive. No dependencies

Version: 2.1.5 Updated: 06/10/2020

By: bw2tecnologia License: MIT

Downloads Last 30 Days: 14


npm i @bw2tecnologia/v-mask
yarn add @bw2tecnologia/v-mask

Repository: https://github.com/bw2tecnologia/v-mask


bundle.run: https://bundle.run/@bw2tecnologia/v-mask

jsDelivr: https://cdn.jsdelivr.net/npm/@bw2tecnologia/v-mask

unpkg: https://unpkg.com/@bw2tecnologia/v-mask

:abcd: Vue input mask

This package has been modified to fill in our use cases.

npm Github file size GitHub license Vue2 Tested with TestCafe

Tiny input mask library for vue.js based on text-mask-core (~4kb) exposed as directive. No dependencies

:heavy_check_mark: Browser Support

Chrome Firefox Safari Opera Edge IE iOS Safari Android WebView Android WebView
74+ :heavy_check_mark: 66+ :heavy_check_mark: 12+ :heavy_check_mark: 46+ :heavy_check_mark: 17+ :heavy_check_mark: 11+ :heavy_check_mark: 12+ :heavy_check_mark: 67+ :heavy_check_mark: 8.2+ :heavy_check_mark:

We support only browsers with global usage statistics greater then 1%, last 2 version of each browser but not dead browsers. Library may work in older browser but we don't not guarantee that. You may need addition polyfills to make it work.

:cd: Installation

npm install v-mask


ES2015 (Webpack/Rollup/Browserify/etc)

import Vue from "vue";

// As a plugin
import VueMask from "v-mask";

// Or as a directive
import { VueMaskDirective } from "v-mask";
Vue.directive("mask", VueMaskDirective);

// Or only as a filter
import { VueMaskFilter } from "v-mask";
Vue.filter("VMask", VueMaskFilter);

:rocket: Usage

<input type="text" v-mask="'####-##'" v-model="myInputModel" />
<!-- OR -->
<input type="text" v-mask="nameOfVariableWithMask" v-model="myInputModel" />

There is no reason to support using this lib for using without v-model but open the door for using on custom inputs.

Filter usage

<span>{{ '9999999999' | VMask('(###) ###-####') }}</span>

:gear: Configs

List of supported placeholders:

Value Format
# Number (0-9)
A Letter in any case (a-z,A-Z)
N Number or letter
X Any symbol
? Optional (next character)

:syringe: Tests

Jest is used for unit-tests.

Unit-tests can be executed by typing this command in your terminal:

npm test

TestCafe is used of E2E testing.

E2E-tests can be executed by typing this command in your terminal:

npm test:e2e

:anchor: Semantic Versioning Policy

This plugin follows semantic versioning.

:newspaper: Changelog

We're using GitHub Releases.

:beers: Contributing

We're more than happy to see potential contributions, so don't hesitate. If you have any suggestions, ideas or problems feel free to add new issue, but first please make sure your question does not repeat previous ones.

Notice: You should make your changes only in src folder, don't try to edit files from dist as it compiled from src by babel and shouldn't be changes manually.

:lock: License

See the LICENSE file for license rights and limitations (MIT).

Categories: Vue js