@credentum/is-valid-sedol
v1.0.0
Published
Validate SEDOL (Stock Exchange Daily Official List) codes used in UK and Irish securities markets.
Maintainers
Readme
@credentum/is-valid-sedol
Validate SEDOL (Stock Exchange Daily Official List) codes used in UK and Irish securities markets.
Installation
npm install @credentum/is-valid-sedolUsage
import { isValidSedol } from '@credentum/is-valid-sedol';
isValidSedol('0263494'); // true (BAE Systems)
isValidSedol('B0WNLY7'); // true (Tesla on LSE)
isValidSedol('INVALID'); // falseWhy Use This?
SEDOL is the primary security identifier for the London Stock Exchange. If you process UK/Irish equities, bonds, or ETFs, you encounter SEDOLs in SWIFT messages, FIX protocol feeds, and reconciliation files. The check digit algorithm is simple but easy to get wrong — and a bad SEDOL silently corrupts downstream data. This package gives you a single, zero-dependency function with correct weighted-checksum validation so you don't have to copy-paste from Wikipedia.
API
isValidSedol(input: string): boolean
Returns true if the input is a valid 7-character SEDOL with a correct check digit.
Validation rules:
- Exactly 7 characters
- Characters 1-6: digits
0-9or consonantsBCDFGHJKLMNPQRSTVWXYZ(no vowels) - Character 7: check digit (weighted mod-10 checksum with weights
[1, 3, 1, 7, 3, 9, 1])
Parameters:
| Name | Type | Description |
|------|------|-------------|
| input | string | The SEDOL code to validate |
Returns: boolean — true if valid, false otherwise.
Edge cases:
- Non-string input returns
false - Empty string returns
false - Lowercase input returns
false(SEDOLs are uppercase) - Strings with vowels return
false
Algorithm
Each character maps to a numeric value (digits = face value, B=11, C=12, ..., Z=35). The values are multiplied by weights [1, 3, 1, 7, 3, 9, 1] and summed. A valid SEDOL has a total divisible by 10.
License
MIT
