JavaScript Regex, JSON, and Date Cheat Sheet

Regular expressions, JSON parsing and serialization, dates, Intl formatting, math, and crypto helpers.

View
StandardDetailedCompact
Export
Copy the compact sheet, download it, or print it.
Download
`D` dense toggle · `C` copy all

Regular Expressions

Match, capture, replace, split, and validate strings with regex.

RegExp test

javascriptANYjavascriptregexvalidation
javascript
const isHex = /^[0-9a-f]+$/i.test(value);

String match

javascriptANYjavascriptregexstrings
javascript
const matches = text.match(/\d+/g);

String matchAll

javascriptANYjavascriptregexstrings
javascript
const all = [...text.matchAll(/(?<year>\d{4})/g)];

Named capture groups

javascriptANYjavascriptregexcapture-groups
javascript
const m = /(?<user>[a-z]+)@(?<host>.+)/i.exec(email);
const host = m?.groups?.host;

Regex replace

javascriptANYjavascriptregexreplace
javascript
const normalized = text.replace(/\s+/g, " ").trim();

Regex split

javascriptANYjavascriptregexsplit
javascript
const parts = csvLine.split(/\s*,\s*/);

Escape regex special chars

javascriptANYjavascriptregexhelpers
javascript
function escapeRegex(text) {
  return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}

JSON

Parse, stringify, pretty-print, revivers, and replacers.

JSON.parse

javascriptANYjavascriptjsonparsing
javascript
const data = JSON.parse(raw);

JSON.stringify

javascriptANYjavascriptjsonserialization
javascript
const json = JSON.stringify(data);

Pretty-print JSON

javascriptANYjavascriptjsonserialization
javascript
const pretty = JSON.stringify(data, null, 2);

JSON.parse reviver

javascriptANYjavascriptjsonparsing
javascript
const parsed = JSON.parse(raw, (key, value) => key.endsWith("At") ? new Date(value) : value);

JSON.stringify replacer

javascriptANYjavascriptjsonserialization
javascript
const json = JSON.stringify(data, (key, value) => key === "password" ? undefined : value);

Dates and Time

Date, Intl, formatting, parsing, relative time, and timestamps.

Date.now

javascriptANYjavascriptdatetime
javascript
const timestamp = Date.now();

Create Date

javascriptANYjavascriptdatetime
javascript
const date = new Date("2026-03-06T12:00:00Z");

toISOString

javascriptANYjavascriptdatetime
javascript
const iso = new Date().toISOString();

Intl.DateTimeFormat

javascriptANYjavascriptdateintl
javascript
const fmt = new Intl.DateTimeFormat("en-US", { dateStyle: "medium", timeStyle: "short" });
fmt.format(new Date());

Intl.NumberFormat

javascriptANYjavascriptintlnumbers
javascript
const nf = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
nf.format(1999.5);

Intl.RelativeTimeFormat

javascriptANYjavascriptdateintl
javascript
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
rtf.format(-1, "day");

Add days

javascriptANYjavascriptdatetime
javascript
const nextWeek = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);

Math and Random

Clamp, round, UUIDs, random IDs, and crypto-safe bytes.

Random integer

javascriptANYjavascriptmathrandom
javascript
const n = Math.floor(Math.random() * 10);

Round / floor / ceil

javascriptANYjavascriptmathrounding
javascript
Math.round(1.6);
Math.floor(1.6);
Math.ceil(1.2);

Clamp helper

javascriptANYjavascriptmathhelpers
javascript
const clamp = (n, min, max) => Math.min(Math.max(n, min), max);

crypto.randomUUID

javascriptANYjavascriptcryptouuid
javascript
const id = crypto.randomUUID();

crypto.getRandomValues

javascriptANYjavascriptcryptorandom
javascript
const bytes = crypto.getRandomValues(new Uint8Array(16));

SHA-256 digest

javascriptANYjavascriptcryptohash
javascript
const data = new TextEncoder().encode("hello");
const hash = await crypto.subtle.digest("SHA-256", data);