UNPKG

@narmafzam/jalali-datepicker

Version:

just a jalali-datepicker

36 lines (28 loc) 1.05 kB
class JalaliDateParser { constructor() { this.pattern = { persian: /^[1-4]\d{3}(\/|-|\.)((0?[1-6](\/|-|\.)((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))(\/|-|\.)(30|([1-2][0-9])|(0?[1-9]))))$/g }; } parse(inputString) { let that = this, persianDateArray, persianPat = new RegExp(that.pattern.persian); String.prototype.toEnglishDigits = function () { let charCodeZero = '۰'.charCodeAt(0); return this.replace(/[۰-۹]/g, function (w) { return w.charCodeAt(0) - charCodeZero; }); }; inputString = inputString.toEnglishDigits(); if (persianPat.test(inputString)) { /* eslint-disable no-useless-escape */ persianDateArray = inputString.split(/\/|-|\,|\./).map(Number); /* eslint-enable no-useless-escape */ return persianDateArray; } else { return undefined; } } } module.exports = JalaliDateParser;