@w.dental/date-mask
Version:
Lib for using as maks for date input
33 lines (26 loc) • 1.11 kB
JavaScript
/*!
* @w.dental/date-mask v0.0.2
* (c) W-Dental
* Released under the MIT License.
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.dateMask = factory());
}(this, (function () { 'use strict';
var LETTERS_REGEX = /[a-z]/gi;
var ONLY_NUMBERS_REGEX = /\D/gi;
function dateMask(num) {
if (num === void 0) {
num = '';
}
if (typeof num !== 'string' || LETTERS_REGEX.test(num)) {
throw new Error('You must to pass a digits as string with pattern DD/MM/YYYY or MM/DD/YYYY');
}
var numString = num.replace(ONLY_NUMBERS_REGEX, '');
if (numString.length === 3) return numString.replace(/(\d{2})/, '$1/');
if (numString.length > 3 && numString.length < 5) return numString.replace(/(\d{2})(\d+)/, '$1/$2');
if (numString.length >= 5 && numString.length <= 8) return numString.replace(/(\d{2})(\d{2})(\d+)/, '$1/$2/$3');else return numString.substring(0, 10);
}
return dateMask;
})));