3.0.0 • Published 3 years ago

vue-pattern-input v3.0.0

Weekly downloads
190
License
MIT
Repository
github
Last release
3 years ago

vue-pattern-input

npm package NPM downloads

A Vue Component used RegExp to limit the user's input.

Works like native input element, you can add maxlength class attributes. You can use v-model too.

English | 简体中文

Table of contents

Live demo

Just click there: Live Demo.

What's included

Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this:

vue-pattern-input/
├── ...
├── src/
│   └── /component
│       └── pattern-input.vue // core
└── /view
    └── demo.html

Parameter declaration

ParameterTypeDefaultRequiredDescription
regExpRegExpnullfalseUsing for: String.prototype.replace(regexp, replacement)
replacementString''falseUsing for: String.prototype.replace(regexp, replacement)
v-model.numberString/NumbertrueUsing for getting input value

Commonly used regExp

regExpDescription
/^0\D*|\D*/gpositive integer
/^a-z/glowercase
/^A-Z/guppercase
/^\w/g\w, Equivalent to A-Za-z0-9_
/^\u4e00-\u9fa5/gChinese

Quick start

JavaScript

setting: {
  regExp: /^[0\D]*|\D*/g, // Match any character that doesn't belong to the positive integer
  replacement: '',
  val: '223'
}

HTML

<pattern-input class="your-class-name"
               :regExp="setting.regExp"
               :replacement="setting.replacement"
               @input="handleInput"
               @change="handleChange"
               v-model.number="setting.val"></pattern-input>

This setting will make user input positive integer only.

When you want get a Number, remember use v-model.number, and the safe maxlength is 15.

Changelog

v3.0.0

  • Support Vue3.0

v2.1.4

  • Use immediate watch

v2.1.3

  • I'm not sure is it necessary to emit all the input events. Now I only emit input and change events.
  • Now, you can bind any native event on input !
    <pattern-input
                   ...
                   @change="onChange"
                   @blur="onBlur"
                   @focus="onFocus"
                   ...etc
                   ...</pattern-input>
  • Required:

Bugs and feature requests

Have a bug or a feature request? If your problem or idea is not addressed yet, please open a new issue.

Thought

I'm not sure is it necessary to emit all the input events. Now I only emit input and change events.

And I think the RegExp settings is not good enough, it's a bit awkward. Maybe I should match what I want instead of replacing what I don't want. But how ?

License

Code released under the MIT License.

3.0.0

3 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

7 years ago

0.1.0

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago