Хакернуну Хай 18 лет. Его цель — стать успешным разработчиком. Он заинтересован в создании веб-приложений с использованием технологий внешнего интерфейса. Его зовут [Рахул], и ему 18 лет. Он также заинтересован в разработке веб-приложений для интерфейсных технологий с помощью интерфейсных технологий.
Давайте начнем!
- Генерировать случайное число между двумя значениями:
const randomNumber = Math.random() * (max - min) + min
- Проверить, является ли число целым:
const isInteger = (num) => num % 1 === 0
- Проверьте, является ли значение
null
илиundefined
:const isNil = (value) => value === null || value === undefined
- Проверить, является ли значение истинным значением:
const isTruthy = (value) => !!value
- Проверить, является ли значение ложным значением:
const isFalsy = (value) => !value
- Проверьте, является ли значение действительным номером кредитной карты:
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); }
- Проверить, является ли значение объектом:
const isObject = (obj) => obj === Object(obj)
- Проверить, является ли значение функцией:
const isFunction = (fn) => typeof fn === 'function'
- Удалить дубликаты из массива
const removeDuplicates = (arr) => [...new Set(arr)];
- Проверить, является ли значение обещанием:
const isPromise = (promise) => promise instanceof Promise
- Проверьте, является ли значение действительным адресом электронной почты:
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); }
- Проверить, заканчивается ли строка заданным суффиксом:
const endsWith = (str, suffix) => str.endsWith(suffix)
- Проверить, начинается ли строка с заданного префикса:
const startsWith = (str, prefix) => str.startsWith(prefix)
- Проверьте, является ли значение допустимым URL-адресом:
const isURL = (url) => { const regex = /(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+/; return regex.test(url); }
- Проверьте, является ли значение допустимым шестнадцатеричным цветовым кодом:
const isHexColor = (hex) => { const regex = /#?([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})/; return regex.test(hex); }
- Проверьте, является ли значение допустимым почтовым индексом:
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; } }
- Проверьте, является ли значение элементом DOM:
const isDOMElement = (value) => typeof value === 'object' && value.nodeType === 1 && typeof value.style === 'object' && typeof value.ownerDocument === 'object';
- Проверьте, является ли значение допустимой длиной CSS (например,
10px
,1em
,50%
):
const isCSSLength = (value) => /([-+]?[\d.]+)(%|[a-z]{1,2})/.test(String(value));
- Проверьте, является ли значение допустимой строкой даты (например,
2022-09-01
,September 1, 2022
,9/1/2022
):
const isDateString = (value) => !isNaN(Date.parse(value));
- Проверьте, является ли значение числом, представляющим безопасное целое число (те целые числа, которые могут быть точно представлены в JavaScript):
const isSafeInteger = (num) => Number.isSafeInteger(num)
- Проверьте, является ли значение допустимым крипто-адресом:
//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); }
- Проверьте, является ли значение допустимым цветовым кодом RGB.
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); }
- Быстро создайте массив символов из строки:
const string = "abcdefg"; const array = [...string];
- Быстро создать объект со всеми свойствами и значениями другого объекта, но с другим ключом для каждого свойства
const original = {a: 1, b: 2, c: 3}; const mapped = {...original, ...Object.keys(original).reduce((obj, key) => ({...obj, [key.toUpperCase()]: original[key]}), {})};
- Быстро создать массив чисел от 1 до 10
const array = [...Array(10).keys()].map(i => i + 1);
- Быстро перемешать массив
const shuffle = (array) => array.sort(() => Math.random() - 0.5);
- Преобразование объекта, подобного массиву (например, NodeList), в массив
const toArray = (arrayLike) => Array.prototype.slice.call(arrayLike);
- Сортировка массивов
//Ascending const sortAscending = (array) => array.sort((a, b) => a - b); //Descending const sortDescending = (array) => array.sort((a, b) => b - a);
- Отказаться от функции
const debounce = (fn, time) => { let timeout; return function(...args) { clearTimeout(timeout); timeout = setTimeout(() => fn.apply(this, args), time); }; };
- Открыть новую вкладку с заданным URL
const openTab = (url) => { window.open(url, "_blank"); };
- Получить разницу между двумя датами
const dateDiff = (date1, date2) => Math.abs(new Date(date1) - new Date(date2));
- Генерация случайной строки заданной длины
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; };
- Получить значение куки
const getCookie = (name) => { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(";").shift(); };
Спасибо за чтение. Важно отметить, что простое копирование и вставка кода без понимания того, как он работает, может привести к проблемам в будущем.