@lacussoft/cpf-fmt
Version:
Utility function to format CNPJ (Brazilian personal ID)
104 lines (75 loc) • 3.81 kB
Markdown
# Lacus :: cpf-fmt
[](https://npmjs.com/package/@lacussoft/cpf-fmt)
[](https://bundlephobia.com/package/@lacussoft/cpf-fmt)
[](https://npmjs.com/package/@lacussoft/cpf-fmt)
[](https://github.com/LacusSolutions/br-utils-js/actions)
[](https://github.com/LacusSolutions/br-utils-js)
[](https://github.com/LacusSolutions/br-utils-js/blob/main/LICENSE)
Utility function to format CNPJ (Brazilian personal ID).
## Browser Support
|  |  |  |  |  |  |
|--- | --- | --- | --- | --- | --- |
| Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
## Installation
```bash
# using NPM
$ npm install --save @lacussoft/cpf-fmt
# using Bun
$ bun add @lacussoft/cpf-fmt
```
## Import
```js
// ES Modules
import cpfFmt from '@lacussoft/cpf-fmt'
// Common JS
const cpfFmt = require('@lacussoft/cpf-fmt')
```
or import it through your HTML file, using CDN:
```html
<script src="https://cdn.jsdelivr.net/npm/@lacussoft/cpf-fmt@latest/dist/cpf-fmt.min.js"></script>
```
## Usage
```js
const cpf = '47844241055'
cpfFmt(cpf) // returns '478.442.410-55'
cpfFmt(cpf, { // returns '478.***.***-**'
hidden: true
})
cpfFmt(cpf, { // returns '478442410_55'
delimiters: {
dot: '',
dash: '_'
}
})
```
### Formatting options
```js
cpfFmt(cpf, {
delimiters: {
dot: '.', // string to replace the dot characters
dash: '-', // string to replace the dash character
},
escape: false, // boolean to define if the result should be HTML escaped
hidden: false, // boolean to define if digits should be hidden
hiddenKey: '*', // string to replace hidden digits
hiddenRange: {
start: 3, // starting index of the numeric sequence to be hidden (min 0)
end: 10, // ending index of the numeric sequence to be hidden (max 10)
},
onFail(value) { // fallback function to be invoked in case a non-11-digits is passed
return value
}
})
```
## Contribution & Support
We welcome contributions! Please see our [Contributing Guidelines](./CONTRIBUTING.md) for details. But if you find this project helpful, please consider:
- ⭐ Starring the repository
- 🤝 Contributing to the codebase
- 💡 [Suggesting new features](https://github.com/LacusSolutions/br-utils-js/issues)
- 🐛 [Reporting bugs](https://github.com/LacusSolutions/br-utils-js/issues)
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/LacusSolutions/br-utils-js/blob/main/LICENSE) file for details.
## Changelog
See [CHANGELOG](tps://github.com/LacusSolutions/br-utils-js/blob/main/CHANGELOG.md) for a list of changes and version history.
---
Made with ❤️ by [Lacus Solutions](https://github.com/LacusSolutions)