UNPKG

custom-random-id

Version:

A highly customizable JavaScript library that generates random IDs based on the required format. It uses the {{id_specification}} format to generate the kind of ID with varying length number or string or alpha-numeric string

147 lines (108 loc) 4 kB
# custom-random-id A highly customizable JavaScript library that generates random IDs based on the required format. It uses the `{{id_specification}}` format to generate the kind of ID with varying length number or string or alpha-numeric string > Solves the problem of writing custom algorithms of generating random IDs of numbers or strings or alpha-numeric string. You can even generate a random phone number like `+1-541-754-3010` or random anything in your desired format! ## Installation `npm install custom-random-id` - **Small in size.** - **Fast.** Better performance than most of the other ID generators. - **URL safe characters.** it uses only URL safe characters as it uses only numbers or capital letters or uuids to generate the IDs. - **Client & Server.** Can be used in client side and server side JavaScript applications. ## Usage ```javascript const { IdGenerator } = require("custom-random-id"); // To generate a 5 digit random number const ID = new IdGenerator("{{ number_5 }}"); let id = ID.getFinalExpression(); console.log(id); // => 56412 // To generate a 10 character random string const ID = new IdGenerator("{{ string_10 }}"); let id = ID.getFinalExpression(); // => HYIOMNTRSJ // To generate a 8 character random alpha numeric const ID = new IdGenerator("{{ alpha_number_10 }}"); let id = ID.getFinalExpression(); // => JU78BH98 // To generate a uuid const ID = new IdGenerator("{{ uuid }}"); let id = ID.getFinalExpression(); // => 5bc787b8-00ac-49ea-a970-2fca9ec737af ``` ## Format > Format: `"{{ type_count }}"` where `type` and `count` are 2 separate entities. The whole expression has to be provided in string format only. Eg: `"{{ number_10 }}"` - **type** - **string:** Generates a string of the specified length. - **number:** Generates a number (integer) of a specified length. - **alpha_number:** Generates an alpha-numeric string (string of numbers and characters in caps) of a specified length. - **uuid:** Generates an uuid. - **count:** An integer number for the number of digits/characters to be present in the generated string. ##### Examples: ```javascript "{{ string_10 }}"; // output: VVMTINCMBC ``` ```javascript "{{ string_50 }}"; // output: OTXITFCVIPNFTIERWXPOURNUSMDOFPCAUHJBIVZFWPEQWTMMPW ``` ```javascript "{{ string_1 }}"; // output: K // Single random Char ``` ```javascript "{{ number_15 }}"; // output: 234112942672429 ``` ```javascript "{{ number_1 }}"; // output: 4 // This can be used to get a single random number ``` ```javascript "{{ alpha_number_10 }}"; // output: KHT5N52J36 // To get a string having upper case characters and integer numbers ``` ```javascript "{{ alpha_number_10 }}"; // output: KHT5N52J36 // To get a string having upper case characters and integer numbers ``` ```javascript "{{ uuid }}"; // output: 43a629cf-661b-4d4c-b66e-16e6714f8732 // To get an unique string every time. ``` ### Creative Usage Unlock your creativity by using the custom-random-id generator to generate strings of any required format by using multiple expressions in a string. ###### Generate an American Phone number ```javascript "+1 {{number_3}}-{{number_3}}-{{number_4}}"; // output: +1 941-626-2929 ``` ###### Generate phone numbers starting with only '7' ```javascript "+1 7{{number_2}}-{{number_3}}-{{number_4}}"; // output: +1 785-587-6616 ``` ###### Generate a string with 5 characters in the start and 5 numbers in the end ```javascript "{{string_5}}{{number_5}}"; // output: LPDZW86423 ``` ###### Generate a string like a gun name ```javascript "AK-{{number_2}}"; // output: AK-35 // output: AK-87 // output: AK-47 // .. etc ``` ###### Generate a string with alternating character, number of length 5 ```javascript "{{string_1}}{{number_1}}{{string_1}}{{number_1}}{{string_1}}"; // output: X9K5L // output: E6S4W ``` ###### Or any random combination like ```javascript "{{uuid}}---{{number_5}}---{{string_10}}"; // output: c1ed245a-18cb-4e8b-ad2f-db67f8fa4e09---68864---ULXCAKACQE ```