snapotp-jquery
Version:
SnapOTP is a lightweight and customizable jQuery plugin to create elegant multi-input OTP fields with features like auto-focus, paste handling, keyboard navigation, and callbacks.
137 lines (90 loc) โข 2.87 kB
Markdown
# SnapOTP jQuery Plugin
SnapOTP is a lightweight and customizable jQuery plugin to create elegant multi-field OTP (One-Time Password) input interfaces. It supports features like auto-focus, keyboard navigation, smart paste handling, reset control, and event callbacks โ making it perfect for authentication and verification workflows.
 <!-- Optional: Replace or remove if not available -->
## ๐ Features
- ๐ข Configurable OTP digit length
- ๐ฏ Auto-focus to next field
- ๐ Smart paste support (entire OTP from clipboard)
- ๐น Keyboard navigation with Arrow keys & Backspace
- ๐ Reset method (`resetSnapOTP`)
- ๐ Events: `onComplete`, `onChange`, `onEnter`
- ๐งโ๐จ Input styling via `data-style` attribute (`box`, `underline`, `circle`)
## ๐ฆ Installation
### 1. Include jQuery
```html
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
```
### 2. Include SnapOTP JS and CSS
```html
<link rel="stylesheet" href="snapotp.css">
<script src="snapotp.js"></script>
```
## ๐งโ๐ป Usage
### HTML
```html
<div id="otp"></div>
```
### JavaScript
```javascript
$('#otp').snapOTP({
digits: 6,
onComplete: function (code) {
console.log('OTP Entered:', code);
},
onChange: function (code) {
console.log('OTP Changed:', code);
},
onEnter: function (code) {
alert('Enter pressed: ' + code);
},
type: 'number', // or 'text'
style: 'box' // box | underline | circle
});
```
## ๐งช Methods
### Reset OTP inputs
```javascript
$('#otp').resetSnapOTP();
```
This will clear all fields and focus on the first input.
### Get Value
```javascript
$('#otp').getValue();
```
This will get value of input and return it.
## ๐จ Styling
SnapOTP supports basic styling using the `data-style` attribute on the container:
```html
<div id="otp" data-style="underline"></div>
```
Available styles:
- `box` (default)
- `underline`
- `circle`
Customize styles in your CSS based on the `[data-style]` attribute.
## ๐ File Structure
```
๐ฆ /dist/snapotp-jquery
โโโ ๐ snapotp.js โ Core plugin logic (jQuery-based)
โโโ ๐จ snapotp.css โ Default styling (easily customizable)
```
## ๐จโ๐จ Author
**Nitin Rathod**
๐ GitHub: [@nitinramrathod](https://github.com/nitinramrathod)
๐ง Email: rathod173ram@gmail.com
๐ฑ Mobile: +91-8459556244
๐ Location: Thane, Maharashtra, India
## ๐ License
Licensed under the MIT License.
Feel free to use, modify, and distribute with attribution.
## ๐ Repository
**GitHub:** [https://github.com/nitinramrathod/snapotp-jquery](https://github.com/nitinramrathod/snapotp-jquery)