Skip to content

Commit ad593f7

Browse files
committed
not number chars feature
1 parent c2a8e9d commit ad593f7

File tree

5 files changed

+20
-9
lines changed

5 files changed

+20
-9
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "svelte-mask",
33
"private": false,
4-
"version": "0.2.7",
5-
"type": "module",
4+
"version": "0.3.2",
5+
"type": "module",
66
"main": "index.js",
77
"repository": "https://github.com/Sanshain/svelte-input-mask",
88
"scripts": {

src/PhoneMaskInput.svelte

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
<script>
22
3-
export let originHolder = '+7(000)0000000'
3+
export let originHolder = '+7(000)0000000';
4+
/**
5+
* @type {string|Array<string>} - `${'_'|'*'|'-'}`
6+
*/
7+
export let exceptNotNumbers = [];
48
59
/**
610
* @type {HTMLElement}
@@ -10,14 +14,17 @@
1014
let holderOffset = 0;
1115
let value = '';
1216
13-
let notNumbers = Array.from(originHolder).reduce((acc, c, i, arr) => ((Number.isNaN(Number.parseInt(c)) ? (acc[i] = c) : ''), acc), [])
17+
/**
18+
*
19+
*/
20+
let notNumbers = Array.from(originHolder).reduce((acc, c, i, arr) => ((!~exceptNotNumbers.indexOf(c) && Number.isNaN(Number.parseInt(c)) ? (acc[i] = c) : ''), acc), [])
1421
1522
/**
1623
* @param {InputEvent} event
1724
*/
1825
function onInput(event) {
1926
20-
// console.log(event);
27+
console.log(event);
2128
2229
2330
const formatHolder = (autoValue) => {

src/app.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import PhoneMaskInput from './PhoneMaskInput.svelte'
66
* @param {string?} id
77
* @param {string?} placeholder
88
*/
9-
function createMaskInput(id, placeholder) {
9+
function createMaskInput(id, placeholder, options) {
1010
const app = new PhoneMaskInput({
1111
target: document.getElementById(id || 'app'),
1212
props: {
13-
originHolder: placeholder || '+0(000)0000000'
13+
originHolder: placeholder || '+0(000)0000000',
14+
exceptNotNumbers: (options && options.exceptNotNumbers) || []
15+
// originHolder: placeholder || '+0(___)_______'
1416
}
1517
})
1618

src/main.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import PhoneMaskInput from './PhoneMaskInput.svelte'
55
const app = new PhoneMaskInput({
66
target: document.getElementById('app'),
77
props: {
8-
originHolder: '+0(000)0000000'
8+
// originHolder: '+0(000)0000000'
9+
originHolder: '+0(___)_______',
10+
exceptNotNumbers: ['_']
911
}
1012
})
1113

vite.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ import { svelte } from '@sveltejs/vite-plugin-svelte'
44
// https://vitejs.dev/config/
55
export default defineConfig({
66
plugins: [svelte()],
7-
target: 'iife'
7+
target: 'iife'
88
})

0 commit comments

Comments
 (0)