text-input-formatters
v1.0.2
Published
A collection of utility functions to format text input (camelCase, snake_case, digits only, etc.)
Maintainers
Readme
🧠 Text Input Formatters
A collection of useful text input formatting utilities for Node.js and frontend JavaScript. Easily format text to match different naming conventions, block invalid inputs, or transform content on the fly.
Inspired by advanced text input formatters used in Flutter apps.
✨ Features
- ✅ Digits only
- ✅ CamelCase, snake_case, kebab-case
- ✅ Only alphabets
- ✅ Mirror text (reverse)
- ✅ Palindrome filter
- ✅ Remove repeat characters
- ✅ Prevent multiple spaces
- ✅ Replace spaces with underscores
- ✅ Block paste (for web input fields)
📦 Installation
npm install text-input-formatters
🚀 Usage
const formatters = require('text-input-formatters');
console.log(formatters.camelCase("hello world")); // helloWorld
console.log(formatters.snakeCase("hello world")); // hello_world
console.log(formatters.kebabCase("hello world")); // hello-world
console.log(formatters.onlyAlphabets("abc123!@#")); // abc
console.log(formatters.digitsOnly("abc123!@#")); // 123
console.log(formatters.mirrorText("hello")); // olleh
console.log(formatters.palindromeOnly("racecar")); // racecar
console.log(formatters.palindromeOnly("hello")); // ''
console.log(formatters.noRepeatCharacters("aaabbbcccaaa")); // abcabc
console.log(formatters.preventMultipleSpaces("this is spaced")); // this is spaced
console.log(formatters.whitespaceToUnderscore("space here")); // space_here
🖥️ Disable Paste (DOM only)
// In browser environment (e.g., inside a script tag or frontend app)
const { disablePaste } = require('text-input-formatters');
const input = document.querySelector('#no-paste-input');
disablePaste(input); // disables paste for this input
📚 API Reference
| Function | Description |
|------------------------------|-----------------------------------------------------|
| `camelCase(str)` | Converts string to camelCase |
| `snakeCase(str)` | Converts string to snake_case |
| `kebabCase(str)` | Converts string to kebab-case |
| `onlyAlphabets(str)` | Removes non-alphabet characters |
| `digitsOnly(str)` | Removes all non-digit characters |
| `mirrorText(str)` | Reverses the string |
| `palindromeOnly(str)` | Returns string if it’s a palindrome, else empty |
| `noRepeatCharacters(str)` | Replaces repeated characters with single ones |
| `preventMultipleSpaces(str)` | Converts multiple spaces to a single space |
| `whitespaceToUnderscore(str)`| Replaces spaces with underscores |
| `disablePaste(inputElement)` | Prevents pasting into the input field (DOM only) |
👨💻 Contributing
1. Fork this repo
2. Create your feature branch (git checkout -b feature/featureName)
3. Commit your changes (git commit -m 'Add feature')
4. Push to the branch (git push origin feature/featureName)
5. Open a pull request
📝 License
MIT © 2025 [Your Name or Organization]
---
### ✅ Next Steps:
- Save this as `README.md` in your package root directory.
- Make sure `package.json` includes `"main": "textInputFormatters.js"` and correct metadata.
- Then run:
```bash
npm publish