2.0.0 • Published 4 years ago

vue-e164 v2.0.0

Weekly downloads
17
License
MIT
Repository
github
Last release
4 years ago

vue-e164

npm version js-standard-style Awesome Conventional Commits

Vue.js filter for phone formatting with E.164 support

Includes:

  • Filter
  • Global method
  • Directive

Setup

NPM

npm install --save vue-e164

CDN

<script src="//unpkg.com/vue-e164/dist/vue-e164.js"></script>
import e164 from 'vue-164'

const options = {
  plus: true,
  brackets: false,
  space: false,
  dash: false,
  areaCode: true
}

Vue.use(e164, options)

Options

plus {Boolean} - add plus symbol before area code

brackets {Boolean} - add brackets

space {Boolean} - split number by space

dash {Boolean} - split number by dash

areaCode {Boolean} - set to false to exclude area code and plus

If you want to use E.164 standart, you need this options:

{
  plus: true,
  brackets: false,
  space: false,
  dash: false,
  areaCode: true
}

Examples

plusbracketsspacedashareaCodeResult
truetruetruefalsetrue+1 (495) 000 99 88
falsefalsefalsefalsetrue14950009988
truefalsefalsefalsetrue+14950009988 (E.164)
truetruefalsefalsetrue+1(495)0009988
falsetruetruefalsetrue1 (495) 000 99 88
falsefalsetruefalsetrue1 495 000 99 88
falsetruefalsefalsetrue1(495)0009988
truefalsetruefalsetrue+1 495 000 99 88
truetruetruetruetrue+1 (495) 000 - 99 - 88
truetruefalsetruetrue+1(495)000-99-88
truefalsetruetruetrue+1 495 000 - 99 - 88
falsetruetruetruetrue1 (495) 000 - 99 - 88
truefalsetruetruetrue+1 495 000 - 99 - 88
truetruetruetruefalse(495) 000 - 99 - 88
truetruefalsetruefalse(495)000-99-88
truefalsetruetruefalse495 000 - 99 - 88
falsetruetruetruefalse(495) 000 - 99 - 88
truefalsetruetruefalse495 000 - 99 - 88

Usage

vue-e164 adds phone filter, and can be used as any other vue.js filter.

<template>
  <p>{{ string | phone }}</p>
</template>

If you need to use different options for each element, from v0.0.2 you can use directive v-phone:

<template>
  <p v-phone="{ plus: true, brackets: false, space: false, dash: false, areaCode: true }">{{ string }}</p>
</template>

From v1.2.0 you can use global function $filterPhone:

...
methods: {
    applyFilter (phoneInput) {
        return this.$filterPhone(phoneInput, {
              plus: true,
              brackets: false,
              space: false,
              dash: false,
              areaCode: true
        })
    } 
}
...
/* Or as computed property */
...
data () {
    return {
      phone: '70005555555'
    }
},
computed: {
    filteredPhone () {
        return this.$filterPhone(this.phone, {
          plus: true,
          brackets: false,
          space: false,
          dash: false,
          areaCode: true
        })
    }
}
...

Test

npm run build
npm run test

License

MIT

Copyright (c) 2018-2020 Stanislav Mihaylov

2.0.0

4 years ago

1.2.3

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago