Unicode Script Code (ISO 15924) Regex for JavaScript
/^[A-Z][a-z]{3}$/What this pattern does
This page provides a lightweight, single-purpose regular expression for matching unicode script code (iso 15924), ported and verified for JavaScript. A rigorously tested regex reduces debugging time and protects your application from edge-case failures. The snippet below is ready to drop into your JavaScript project — whether you're validating in an Express middleware, a Next.js API route, or a client-side form.
Javascript Implementation
// Unicode Script Code (ISO 15924)
// ReDoS-safe | RegexVault — Localization > Locale & Language
const unicodeScriptCodeIso15924Regex = /^[A-Z][a-z]{3}$/;
function validateUnicodeScriptCodeIso15924(input: string): boolean {
return unicodeScriptCodeIso15924Regex.test(input);
}
// Example
console.log(validateUnicodeScriptCodeIso15924("Latn")); // trueTest Cases
Matches (Valid) | Rejects (Invalid) |
|---|---|
Latn | LATN |
Hans | latn |
Hant | Lat |
Arab | Latin |
Cyrl | Lat1 |
Deva | — |
Hang | — |
Jpan | — |
Kore | — |
When to use this pattern
This pattern is drawn from the Localization > Locale & Language category and carries a ReDoS-safe certification. That matters for JavaScript developers because especially critical in long-running Node.js event loops where a ReDoS vulnerability can block the entire process. RegexVault audits patterns against known backtracking attack vectors, ensuring you have the necessary context before using this regex in a high-stakes production environment.
Common Pitfalls
Script codes are title case (first letter uppercase, rest lowercase). They appear in the middle of BCP 47 tags: zh-Hant-TW (Traditional Chinese as used in Taiwan).
Technical Notes
ISO 15924 script codes: Latn=Latin, Hans=Simplified Chinese, Hant=Traditional Chinese, Arab=Arabic, Cyrl=Cyrillic, Deva=Devanagari (Hindi), Hang=Hangul, Jpan=Japanese (Han+Hiragana+Katakana). Used in BCP 47 language tags.
Have a pattern that belongs in the vault?
Submit it for review — community-verified patterns get credited to your GitHub handle. Free submissions join the queue. Priority review available for $15.
Submit a Pattern