REGEXVAULTv2.0
Finance/Securities & Trading
Verified Safe

Options Contract Symbol (OCC Format) Regex for JavaScript

/^([A-Z]{1,5})(\d{6})([CP])(\d{8})$/

What this pattern does

This page provides a well-structured, multi-part regular expression for matching options contract symbol (occ format), ported and verified for JavaScript. Financial data validation has zero tolerance for false negatives — a missed invalid entry can corrupt downstream calculations. 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

Javascript
// Options Contract Symbol (OCC Format)
// ReDoS-safe | RegexVault — Finance > Securities & Trading

const optionsContractSymbolOccFormatRegex = /^([A-Z]{1,5})(\d{6})([CP])(\d{8})$/;

function validateOptionsContractSymbolOccFormat(input: string): boolean {
  return optionsContractSymbolOccFormatRegex.test(input);
}

// Example
console.log(validateOptionsContractSymbolOccFormat("AAPL240119C00200000")); // true

Test Cases

Matches (Valid)
Rejects (Invalid)
AAPL240119C00200000AAPL2401190200000
TSLA240119P00250000aapl240119C00200000
SPY231215C00450000AAPL240119X00200000
MSFT240920C00350000AAPL24119C00200000

When to use this pattern

This pattern is drawn from the Finance > Securities & Trading 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

The 21-char OCC symbol pads the ticker to 6 chars with spaces. This pattern matches the compact form without padding. The strike price is in thousandths of a dollar: 00200000 = $200.00.

Technical Notes

OCC format: 1-6 char ticker (right-padded with spaces in the 21-char version) + YYMMDD expiry + C or P + 8-digit strike price in 1/1000 of a dollar. Strike 00200000 = $200.000.

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