Bonjour, je m’appelle Rahul et j’ai 18 ans, j’apprends parfois le développement et la conception.
Aujourd’hui, j’aimerais partager quelques extraits de code JavaScript utiles que j’ai enregistrés et qui, je pense, peuvent vous faciliter la vie en tant que développeur.
Commençons!
- Générer un nombre aléatoire entre deux valeurs :
const randomNumber = Math.random() * (max - min) + min
-
Vérifiez si un nombre est un entier :
const isInteger = (num) => num % 1 === 0
-
Vérifier si une valeur est
null
ouundefined
:const isNil = (value) => value === null || value === undefined
-
Vérifiez si une valeur est une valeur véridique :
const isTruthy = (value) => !!value
-
Vérifiez si une valeur est une valeur fausse :
const isFalsy = (value) => !value
-
Vérifier si une valeur est un numéro de carte de crédit valide :
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);
}
- Vérifiez si une valeur est un objet :
const isObject = (obj) => obj === Object(obj)
- Vérifiez si une valeur est une fonction :
const isFunction = (fn) => typeof fn === 'function'
- Supprimer le doublon du tableau
const removeDuplicates = (arr) => [...new Set(arr)];
- Vérifiez si une valeur est une promesse :
const isPromise = (promise) => promise instanceof Promise
- Vérifiez si une valeur est une adresse e-mail valide :
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);
}
- Vérifiez si une chaîne se termine par un suffixe donné :
const endsWith = (str, suffix) => str.endsWith(suffix)
- Vérifiez si une chaîne commence par un préfixe donné :
const startsWith = (str, prefix) => str.startsWith(prefix)
- Vérifiez si une valeur est une URL valide :
const isURL = (url) => {
const regex = /(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+/;
return regex.test(url);
}
- Vérifiez si une valeur est un code couleur hexadécimal valide :
const isHexColor = (hex) => {
const regex = /#?([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})/;
return regex.test(hex);
}
- Vérifier si une valeur est un code postal valide :
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;
}
}
- Vérifiez si une valeur est un élément DOM :
const isDOMElement = (value) => typeof value === 'object' && value.nodeType === 1 && typeof value.style === 'object' && typeof value.ownerDocument === 'object';
- Vérifiez si une valeur est une longueur CSS valide (par exemple
10px
,1em
,50%
):
const isCSSLength = (value) => /([-+]?[\d.]+)(%|[a-z]{1,2})/.test(String(value));
- Vérifiez si une valeur est une chaîne de date valide (par exemple
2022-09-01
,September 1, 2022
,9/1/2022
):
const isDateString = (value) => !isNaN(Date.parse(value));
- Vérifiez si une valeur est un nombre représentant un entier sûr (ces entiers qui peuvent être représentés avec précision en JavaScript) :
const isSafeInteger = (num) => Number.isSafeInteger(num)
- Vérifiez si une valeur est une adresse Crypto valide :
//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);
}
- Vérifiez si une valeur est un code de couleur RVB valide :
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);
}
- Créez rapidement un tableau de caractères à partir d’une chaîne :
const string = "abcdefg";
const array = [...string];
- Créez rapidement un objet avec toutes les propriétés et valeurs d’un autre objet mais avec une clé différente pour chaque propriété :
const original = {a: 1, b: 2, c: 3};
const mapped = {...original, ...Object.keys(original).reduce((obj, key) => ({...obj, [key.toUpperCase()]: original[key]}), {})};
- Créez rapidement un tableau de nombres de 1 à 10 :
const array = [...Array(10).keys()].map(i => i + 1);
- Mélangez rapidement un tableau :
const shuffle = (array) => array.sort(() => Math.random() - 0.5);
- Convertissez un objet de type tableau (tel qu’une NodeList) en tableau :
const toArray = (arrayLike) => Array.prototype.slice.call(arrayLike);
- Trier les tableaux :
//Ascending
const sortAscending = (array) => array.sort((a, b) => a - b);
//Descending
const sortDescending = (array) => array.sort((a, b) => b - a);
- Anti-rebond d’une fonction :
const debounce = (fn, time) => {
let timeout;
return function(...args) {
clearTimeout(timeout);
timeout = setTimeout(() => fn.apply(this, args), time);
};
};
- Ouvrez un nouvel onglet avec une URL donnée :
const openTab = (url) => {
window.open(url, "_blank");
};
- Obtenir la différence entre deux dates :
const dateDiff = (date1, date2) => Math.abs(new Date(date1) - new Date(date2));
- Générer une chaîne aléatoire d’une longueur donnée :
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;
};
- Obtenir la valeur du cookie :
const getCookie = (name) => {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(";").shift();
};
Merci pour la lecture. Il est important de noter que le simple fait de copier et coller du code sans comprendre son fonctionnement peut entraîner des problèmes sur toute la ligne.
C’est toujours une bonne idée de tester le code et de s’assurer qu’il fonctionne correctement dans le contexte de votre projet.
Aussi, n’ayez pas peur de personnaliser le code en fonction de vos besoins. Comme conseil utile, pensez à enregistrer une collection d’extraits de code utiles pour une référence rapide à l’avenir.
J’apprends aussi si je me trompe quelque part, faites-le moi savoir.