Dynamic / Ephemeral Port (49152–65535) Regex for JavaScript
/^(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|5[0-9]{4}|4[9][0-9]{3})$/What this pattern does
This page provides a comprehensive, battle-tested regular expression for matching dynamic / ephemeral port (49152–65535), 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
// Dynamic / Ephemeral Port (49152–65535)
// ReDoS-safe | RegexVault — Web & Network > Port
const dynamicEphemeralPort4915265535Regex = /^(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|5[0-9]{4}|4[9][0-9]{3})$/;
function validateDynamicEphemeralPort4915265535(input: string): boolean {
return dynamicEphemeralPort4915265535Regex.test(input);
}
// Example
console.log(validateDynamicEphemeralPort4915265535("49152")); // trueTest Cases
Matches (Valid) | Rejects (Invalid) |
|---|---|
49152 | 65536 |
50000 | 0 |
60000 | 80 |
65535 | abc |
55000 | 48999 |
When to use this pattern
This pattern is drawn from the Web & Network > Port 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
Do not hard-block these ports in firewall rules based solely on range — ephemeral ports are legitimate outbound connection sources.
Technical Notes
Ephemeral range 49152-65535. Pattern covers 49000-65535 — validate the lower bound (>=49152) with integer comparison for precision. Linux ephemeral range (32768-60999) may differ from IANA spec.
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