https://github.com/arthurdenner/format-string-by-pattern
A module that formats a string based on a pattern
https://github.com/arthurdenner/format-string-by-pattern
format format-string-by-pattern hacktoberfest pattern string
Last synced: about 2 months ago
JSON representation
A module that formats a string based on a pattern
- Host: GitHub
- URL: https://github.com/arthurdenner/format-string-by-pattern
- Owner: arthurdenner
- License: mit
- Created: 2018-05-10T16:16:23.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2023-07-11T00:56:42.000Z (almost 2 years ago)
- Last Synced: 2025-04-03T03:09:33.774Z (2 months ago)
- Topics: format, format-string-by-pattern, hacktoberfest, pattern, string
- Language: TypeScript
- Homepage: https://format-string-by-pattern.netlify.com/
- Size: 2.19 MB
- Stars: 77
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
format-string-by-pattern## Overview
This module consists on a function that receives a pattern and a value and returns this value formatted according to the pattern. It doesn't work with every pattern, but it works with a lot of use cases, especially if you build functions on top of this module.
## Install
```
yarn add format-string-by-pattern
``````
npm i format-string-by-pattern
```### UMD
```
```
## Usage
```js
const formatStringByPattern = require('format-string-by-pattern');formatStringByPattern('YYYY-MM-DD', '20180508');
// '2018-05-08'formatStringByPattern('2018-05-08', '20151217');
// '2015-12-17'const formatOnlyNumbers = (anyString) => {
const onlyNumbers = anyString.replace(/[^\d]/g, '');return formatStringByPattern('999-999-9999', onlyNumbers);
};
formatOnlyNumbers('1A2B3C4D5E6F7G8H9');
// '123-456-789'// It works with curry too
const someFormat = formatStringByPattern('00.00');
someFormat(1234);
// 12.34
```> NOTE: The returned value will be sliced to the size of the pattern.
This library is pretty useful with forms, where you need to parse the input values.
See the usage with the [react-final-form](https://github.com/final-form/react-final-form) library [here](https://codesandbox.io/s/no20p7z3l).## API
### formatStringByPattern(pattern, valueToFormat)
Returns a `string`.
#### pattern
Type: `string`
A string where anything that is not a number or letter will be treated as a separator.
#### valueToFormat
Type: `string` or `number`
A value to be formatted.
## License
MIT © [Arthur Denner](https://github.com/arthurdenner/)