UNPKG

brazilian-values

Version:

Validates and formats brazilian values, like money (BRL), CPF, CNPJ, dates etc.

3 lines (2 loc) 6.91 kB
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).BrazilianValues={})}(this,(function(e){"use strict";var r=function(e){return new Date(e.year,e.month,e.date,e.hours,e.minutes,e.seconds)},t=function(e,t){return void 0===t&&(t=r(e)),t.getDate()===e.date&&t.getMonth()===e.month&&t.getFullYear()===e.year&&t.getHours()===e.hours&&t.getMinutes()===e.minutes&&t.getSeconds()===e.seconds},n=function(e){var r=/^(\d{2})\/(\d{2})\/(\d{4})( (\d{2}):(\d{2})(:(\d{2}))?)?$/.exec(e),t=r[1],n=r[2],i=r[3],o=r[5],u=r[6],d=r[8];return{date:parseInt(t,10),year:parseInt(i,10),month:parseInt(n,10)-1,hours:parseInt(null!=o?o:0,10),minutes:parseInt(null!=u?u:0,10),seconds:parseInt(null!=d?d:0,10)}},i=/^\d{2}\/\d{2}\/\d{4}( \d{2}:\d{2}(:\d{2})?)?$/,o=function(e,r){return e.reduce((function(e,t,n){return e+Number(t)*Number(r[n])}),0)%11%10},u=function(e){return e.every((function(r){return e[0]===r}))},d=/\D/g,a=function(e){return e.replace(d,"")},c=function(e){return a(e).split("").map(Number)},f=/^(\d{14}|\d{3}\.\d{3}\.\d{3}\/\d{3}\-\d{2})$/,l=/^(\d{8}|\d{2}\.?\d{3}\-\d{3})$/,s=function(e,r){return r.reduce((function(r,t,n){var i=r[0],o=r[1];return[0===n?0:i+e[n-1]*t,o+e[n]*t]}),[0,0])},p=function(e){return e%11<2?0:11-e%11},$=/^(\d{14}|\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2})$/,g=function(e){if(!$.test(e))return!1;var r=c(e);if(u(r))return!1;var t=s(r,[6,5,4,3,2,9,8,7,6,5,4,3,2]);return r[12]===p(t[0])&&r[13]===p(t[1])},m=/^(\d{11}|\d{3}\.\d{3}\.\d{3}\-\d{2})$/,v=function(e){if(!m.test(e))return!1;var r=c(e);if(u(r))return!1;var t=s(r,[11,10,9,8,7,6,5,4,3,2]);return r[9]===p(t[0])&&r[10]===p(t[1])},h=/^\d{2}\/\d{2}\/\d{4}((\s)?(\d{2}:\d{2}:\d{2}))?$/,T=["11","12","13","14","15","16","17","18","19","21","22","24","27","28","31","32","33","34","35","37","38","41","42","43","44","45","46","47","48","49","51","53","54","55","61","62","63","64","65","66","67","68","69","71","73","74","75","77","79","81","82","83","84","85","86","87","88","89","91","92","93","94","95","96","97","98","99"],C=function(e){return-1!==T.indexOf(e)},P=/^(\+55)? ?\(?(\d{2})?\)? ?9?\d{4}[-| ]?\d{4}$/,b=[m,$],N=function(e){return e.replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1.")},y=function(e){return a(e).replace(/(\d{2})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1/$2").replace(/(\d{4})(\d{1,2})$/,"$1-$2")},D=function(e){return a(e).replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2")},w=["cnpj","cpf","ltda","qp","tv"],x=["a","com","da","das","de","do","dos","e","em","i","na","nas","no","nos","o","por","sem","u"],F=function(e,r){for(var t=e.toString(10);t.length<r;)t="0"+t;return t},L=function(e){return F(e.getDate(),2)+"/"+F(e.getMonth()+1,2)+"/"+F(e.getFullYear(),4)},A=/^\d$/;e.formatToBRL=function(e){var r=Number(e).toFixed(2).replace(".",",");return"R$ "+N(r)},e.formatToCAEPF=function(e){return a(e).replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1/$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2")},e.formatToCEP=function(e){return a(e).replace(/(\d{5})(\d{1,3})/,"$1-$2")},e.formatToCNPJ=y,e.formatToCPF=D,e.formatToCPFOrCNPJ=function(e){return function(e){var r,t;return(null!==(t=null===(r=e.match(/\d/g))||void 0===r?void 0:r.length)&&void 0!==t?t:0)<=11}(e)?D(e):y(e)},e.formatToCapitalized=function(e,r){var t,n=void 0===r?{}:r,i=n.wordsToKeepLowerCase,o=void 0===i?x:i,u=n.wordsToKeepUpperCase,d=void 0===u?w:u,a=n.trimTrailingWhiteSpaces;return(t=void 0===a||a?function(e){return e.trim().replace(/\s+/g," ")}(e):e,t?t.split(/\s+/):[]).map((function(e,r,t){var n=e&&0===r||!t[0]&&1===r,i=e.toLocaleLowerCase();return n||-1===o.indexOf(i)?-1!==d.indexOf(i)?e.toLocaleUpperCase():function(e){return e.charAt(0).toLocaleUpperCase()+e.substr(1).toLocaleLowerCase()}(e):i})).join(" ")},e.formatToDate=L,e.formatToDateTime=function(e){return L(e)+" "+F(e.getHours(),2)+":"+F(e.getMinutes(),2)},e.formatToGenericPhone=function(e,r){void 0===r&&(r=2);var t=a(e);if(8===t.length)return t.replace(/(^\d{4})(\d{4}$)/gi,"$1-$2");if(9===t.length)return t.replace(/(^\d{5})(\d{4}$)/gi,"$1-$2");if(10===t.length)return t.replace(/(^\d{2})(\d{4})(\d{4}$)/gi,"($1) $2-$3");if(11===t.length)return t.replace(/(^\d{2})(\d{4,5})(\d{4}$)/gi,"($1) $2-$3");if(12===t.length)return t.replace(/(^\d{3})(\d{5})(\d{4}$)/gi,"$1 $2-$3");var n=new RegExp("([0-9]{"+r+"})([0-9][0-9])([0-9]{5})([0-9]{4})","gi");return t.replace(n,"+$1 $2 $3-$4")},e.formatToHiddenDigits=function(e,r){var t;void 0===r&&(r={});var n=function(e){var r=0,t=e.split("").map((function(e){return A.test(e)?{character:e,kind:"digit",digit:++r}:{character:e,kind:"other"}}));return{digits:r,children:t,kind:"root"}}(e),i=function(e,r){return Array.isArray(e)?e:e>=0?[0,e]:[r+1-Math.abs(e),r]}(null!==(t=r.range)&&void 0!==t?t:3,n.digits);return n.children.map((function(e){var t;return"digit"===e.kind&&function(e,r){return r>=e[0]&&r<=e[1]}(i,e.digit)?null!==(t=r.hider)&&void 0!==t?t:"*":e.character})).join("")},e.formatToList=function(e){if(0===e.length)return"";if(1===e.length)return e[0];var r=function(e){return[e.slice(0,e.length-1),e[e.length-1]]}(e),t=r[0],n=r[1];return t.join(", ")+" e "+n},e.formatToNumber=function(e){var r=Number(e).toString(10).split("."),t=r[0],n=r[1];return n?N(t)+","+n:N(t)},e.formatToPhone=function(e){return a(e).replace(/(\d{1,2})/,"($1").replace(/(\(\d{2})(\d{1,4})/,"$1) $2").replace(/( \d{4})(\d{1,4})/,"$1-$2").replace(/( \d{4})(?:-)(\d{1})(\d{4})/,"$1$2-$3")},e.formatToRG=function(e,r){return"RJ"!==r&&"SP"!==r?e:e.toUpperCase().replace(/[^\d|A|B|X]/g,"").replace(/(\d{2})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})([\d|A|B|X]{1})$/,"$1-$2")},e.isCAEPF=function(e){if(!f.test(e))return!1;var r=c(e);if(u(r))return!1;var t=function(e,r){var t=e.slice();t[12]=o(t.slice(0,12),r.slice(1,13)),t[13]=o(t.slice(0,13),r);var n=(Number(""+t[12]+t[13])+12)%100;return[Math.floor(n/10),n%10]}(r,[5,6,7,8,9,2,3,4,5,6,7,8,9]);return r[12]===t[0]&&r[13]===t[1]},e.isCEP=function(e){return l.test(e)},e.isCNPJ=g,e.isCPF=v,e.isCPFOrCNPJ=function(e){var r=b.map((function(r){return r.test(e)}));return!!r.includes(!0)&&(r[0]?v(e):g(e))},e.isDDD=C,e.isDate=function(e){return h.test(e)&&t(n(e))},e.isPhone=function(e){if(!P.test(e))return!1;var r=P.exec(e)[2];return!r||C(r)},e.parseToArray=function(e){if(!e.trim())return[];var r=e.split(" e ");return 1===r.length?r:r[0].split(", ").concat(r[1])},e.parseToDate=function(e){if(!i.test(e))throw new Error('Value "'+e+'" does not match format.');var o=n(e),u=r(o);if(!t(o,u))throw new Error('Value "'+e+'" is an invalid date.');return u},e.parseToNumber=function(e){return Number(e.replace(/\./g,"").replace(",","."))},Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=brazilian-values.umd.min.js.map