UNPKG

otp-number

Version:

> 🔐 A lightweight and flexible JavaScript library to generate random OTPs (One-Time Passwords) for use in both frontend and backend applications.

107 lines (74 loc) 3.01 kB
# otp-number > 🔐 A lightweight and flexible JavaScript library to generate random OTPs (One-Time Passwords) for use in both frontend and backend applications. --- ## ✨ Features - ✅ Supports digits, uppercase, and lowercase characters - ✅ Configurable OTP length - ✅ Works in Node.js and browser (UMD compatible) - ✅ Zero dependencies - 🔢 **Numeric-only OTP shortcut** with `otp_number_only(length)` --- ## 📦 Installation ```bash npm install otp-number ``` ## 🔧 Usage const { otp_number, otp_number_only } = require('otp-number'); // Generate a 6-digit OTP with digits, uppercase, and lowercase letters (default) const defaultOTP = otp_number(); console.log(defaultOTP); // Example: "aB3dE9" // Generate an 8-digit numeric-only OTP using the helper function const numericOTP = otp_number_only(8); console.log(numericOTP); // Example: "12345678" // Generate a 10-character OTP with only uppercase letters and digits const customOTP = otp_number(10, { digits: true, upperCase: true, lowerCase: false }); console.log(customOTP); // Example: "A1B2C3D4E5" // Generate a 4-character OTP with only lowercase letters const lowercaseOTP = otp_number(4, { digits: false, upperCase: false, lowerCase: true }); console.log(lowercaseOTP); // Example: "wxyz" // Attempting to generate an OTP with no character sets enabled will throw an error: try { otp_number(6, { digits: false, upperCase: false, lowerCase: false }); } catch (error) { console.error(error.message); // Output: "At least one character set must be enabled." } ### Numeric Only Shortcut ```js const { otp_number_only } = require('otp-number'); console.log(otp_number_only(6)); // ➤ "920384" ## Browser (UMD) <script src="dist/otp-generator.umd.js"></script> <script> const otp = OtpGenerator.otp_number(6, { digits: true, upperCase: true }); console.log("OTP:", otp); </script> ## ⚙️ API otp_number(length, options) Parameter Type Default Description length number 6 Length of the OTP options.digits boolean true Include digits (0-9) options.upperCase boolean false Include uppercase letters (A-Z) options.lowerCase boolean false Include lowercase letters (a-z) ## 📌 Example Outputs otp_number(); // ➤ "729314" otp_number(6, { digits: true, upperCase: true }); // ➤ "5J8K2Q" otp_number(4, { lowerCase: true }); // ➤ "kfza" otp_number_only(length = 6) A helper function that generates a numeric-only OTP string of the specified length. This is equivalent to calling otp_number(length, { digits: true }). ## 📁 Build (for Browser Support) Install dev dependencies: bash Copy Edit npm install --save-dev rollup @rollup/plugin-commonjs @rollup/plugin-node-resolve Build UMD: bash Copy Edit npx rollup -c ## 🔎 Keywords otp, otp-number, random otp, otp generator, javascript otp, nodejs otp, one-time password, verification code, auth code, frontend backend otp, browser otp, 2FA ```