V mask2

Simple input mask lib for vue.js

Version: 1.3.1 Updated: 10/30/2017

By: DarkAiR License: MIT

Downloads Last 30 Days: 14


npm i v-mask2
yarn add v-mask2

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


bundle.run: https://bundle.run/v-mask2

jsDelivr: https://cdn.jsdelivr.net/npm/v-mask2

unpkg: https://unpkg.com/v-mask2

Vue input mask

npm npm GitHub license vue2

Simple input mask lib for vue.js based on PureMask.js



This version requires Vue 2.X. If you are looking for Vue 1.X, check it here.

npm install v-mask



import Vue from 'vue'

// As a plugin
import VueMask from 'v-mask'

// As a directive
import { VueMaskDirective } from 'v-mask'
Vue.directive('mask', VueMaskDirective);


<script src="vue.min.js"></script>
<script src="v-mask.min.js"></script>
// As a plugin

// As a directive
Vue.directive('mask', VueMask.VueMaskDirective);


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

Notice: v-model is required starting from v1.1.0, because a lot of bugs with HTMLElement event listeners and sync with Vue internals.

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

Format description

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)


Jest is used for unit-tests.

You can run tests by typing this command in your console:

npm test

Nightwatch is used of E2E testing.

Check the v-mask--demo repo for more details


PR is welcome!

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.

Categories: Vue js