Hi there, my name is [Rahul](https://rahul.biz) and I am 18 years old. My goal is to become a successful developer, and I am interested in building web apps with frontend technologies. \ Today, I'd like to share some useful JavaScript stuff I have saved and I think it can help make your life as a developer easier. \ Let's get started! --- 1. Generate a random number between two values: `const randomNumber = Math.random() * (max - min) + min` \ 2. Check if a number is an integer: `const isInteger = (num) => num % 1 === 0` \ 3. Check if a value is `null` or `undefined`: `const isNil = (value) => value === null || value === undefined` \ 4. Check if a value is a truthy value: `const isTruthy = (value) => !!value` \ 5. Check if a value is a falsy value: `const isFalsy = (value) => !value` \ 6. Check if a value is a valid credit card number: \ ```javascript const isCreditCard = (cc) => { const regex = /(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})/; return regex.test(cc); } ``` \ 7. Check if a value is an object: `const isObject = (obj) => obj === Object(obj)` \ 8. Check if a value is a function: `const isFunction = (fn) => typeof fn === 'function'` \ 9. Remove Duplicated from Array `const removeDuplicates = (arr) => [...new Set(arr)];` \ 10. Check if a value is a promise: `const isPromise = (promise) => promise instanceof Promise` \ 11. Check if a value is a valid email address: \ ```javascript const isEmail = (email) => { const regex = /(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/; return regex.test(email); } ``` \ 12. Check if a string ends with a given suffix: `const endsWith = (str, suffix) => str.endsWith(suffix)` \ 13. Check if a string starts with a given prefix: `const startsWith = (str, prefix) => str.startsWith(prefix)` \ 14. Check if a value is a valid URL: \ ```javascript const isURL = (url) => { const regex = /(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+/; return regex.test(url); } ``` \ 15. Check if a value is a valid hexadecimal color code: \ ```javascript const isHexColor = (hex) => { const regex = /#?([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})/; return regex.test(hex); } ``` \ 16. Check if a value is a valid postal code: \ ```javascript const isPostalCode = (postalCode, countryCode) => { if (countryCode === 'US') { const regex = /[0-9]{5}(?:-[0-9]{4})?/; return regex.test(postalCode); } else if (countryCode === 'CA') { const regex = /[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ] [0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]/; return regex.test(postalCode.toUpperCase()); } else { // Add regex for other country codes as needed return false; } } ``` \ 17. Check if a value is a DOM element: \ ```javascript const isDOMElement = (value) => typeof value === 'object' && value.nodeType === 1 && typeof value.style === 'object' && typeof value.ownerDocument === 'object'; ``` \ 18. Check if a value is a valid CSS length (e.g. `10px`, `1em`, `50%`): ```javascript const isCSSLength = (value) => /([-+]?[\d.]+)(%|[a-z]{1,2})/.test(String(value)); ``` \ 19. Check if a value is a valid date string (e.g. `2022-09-01`, `September 1, 2022`, `9/1/2022`): \ ```javascript const isDateString = (value) => !isNaN(Date.parse(value)); ``` \ 20. Check if a value is a number representing a safe integer (those integers that can be accurately represented in JavaScript): `const isSafeInteger = (num) => Number.isSafeInteger(num)` \ 21. Check if a value is a valid Crypto address: \ ```javascript //Ethereum const isEthereumAddress = (address) => { const regex = /0x[a-fA-F0-9]{40}/; return regex.test(address); } //bitcoin const isBitcoinAddress = (address) => { const regex = /[13][a-km-zA-HJ-NP-Z0-9]{25,34}/; return regex.test(address); } // ripple const isRippleAddress = (address) => { const regex = /r[0-9a-zA-Z]{33}/; return regex.test(address); } ``` \ 21. Check if a value is a valid RGB color code \ ```javascript const isRGBColor = (rgb) => { const regex = /rgb\(\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*\)/; return regex.test(rgb); } ``` \ 22. Quickly create an array of characters from a string: \ ```javascript const string = "abcdefg"; const array = [...string]; ``` \ 23. Quickly create an object with all the properties and values of another object, but with a different key for each property \ ```javascript const original = {a: 1, b: 2, c: 3}; const mapped = {...original, ...Object.keys(original).reduce((obj, key) => ({...obj, [key.toUpperCase()]: original[key]}), {})}; ``` \ 24. Quickly create an array of numbers from 1 to 10 \ ```javascript const array = [...Array(10).keys()].map(i => i + 1); ``` \ 25. Quickly shuffle an array \ ```javascript const shuffle = (array) => array.sort(() => Math.random() - 0.5); ``` \ 26. Convert an array-like object (such as a NodeList) to an array \ ```javascript const toArray = (arrayLike) => Array.prototype.slice.call(arrayLike); ``` \ 27. Sort Arrays \ ```javascript //Ascending const sortAscending = (array) => array.sort((a, b) => a - b); //Descending const sortDescending = (array) => array.sort((a, b) => b - a); ``` \ 28. Debounce a function \ ```javascript const debounce = (fn, time) => { let timeout; return function(...args) { clearTimeout(timeout); timeout = setTimeout(() => fn.apply(this, args), time); }; }; ``` \ 29. Open a new tab with a given URL \ ```javascript const openTab = (url) => { window.open(url, "_blank"); }; ``` \ 30. Get the difference between two dates \ ```javascript const dateDiff = (date1, date2) => Math.abs(new Date(date1) - new Date(date2)); ``` \ 31. Generate a random string of a given length \ ```javascript const randomString = (length) => { let result = ""; const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } return result; }; ``` \ 32. Get value of cookie \ ```javascript const getCookie = (name) => { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(";").shift(); }; ``` --- \ Thank you for Reading. It is important to note that simply copying and pasting code without understanding how it works can lead to problems down the line. \ It is always a good idea to test the code and ensure that it functions properly in the context of your project. \ Additionally, don't be afraid to customize the code to fit your specific needs. As a helpful tip, consider saving a collection of useful code snippets for quick reference in the future. \ I am also learning if I am going wrong somewhere, let me know. --- Also Published [Here](https://www.rahul.biz/blog/32-javascript-snippets)