88 | A modern TypeScript library for validating tracking numbers from 11+ shipping carriers 89 |
90 |# Using pnpm (recommended)
130 | pnpm add tracking-number-validation
131 |
132 | # Using npm
133 | npm install tracking-number-validation
134 |
135 | # Using yarn
136 | yarn add tracking-number-validation
137 | import { getCourier, isValid, getTrackingUrl } from 'tracking-number-validation';
143 |
144 | // Identify courier
145 | const courier = getCourier('1Z9999W99999999999');
146 | console.log(courier); // ['ups']
147 |
148 | // Validate tracking number
149 | const valid = isValid('1Z9999W99999999999');
150 | console.log(valid); // true
151 |
152 | // Get tracking URL
153 | const url = getTrackingUrl('1Z9999W99999999999');
154 | console.log(url); // UPS tracking URL
155 | Enter a tracking number to see validation results...
249 |Generate valid tracking numbers for testing purposes.
271 |Validate multiple tracking numbers at once.
293 |Add custom patterns to existing couriers.
313 |United Parcel Service
348 |1Z tracking numbers
349 |Federal Express
355 |12-22 digit formats
356 |United States Postal Service
362 |Various formats including 95xx
363 |DHL Express
369 |Express & eCommerce
370 |Amazon Logistics
376 |TBA, TBC, TBM, TBD formats
377 |OnTrac Shipping
383 |C/D prefixes, LaserShip merged
384 |Canada Post Corporation
390 |13-16 digit formats
391 |China Post Corporation
397 |CN suffix formats
398 |Australia Post Corporation
404 |AU suffix & TM formats
405 |Royal Mail Group
411 |GB suffix formats
412 |Add Custom Patterns
418 |Inject your own regex patterns
419 |import {
437 | getCourier,
438 | isValid,
439 | getTrackingUrl,
440 | generateTrackingNumber,
441 | getDetailedCourierInfo
442 | } from 'tracking-number-validation';
443 |
444 | // Basic validation
445 | const trackingNumber = '1Z9999W99999999999';
446 | const couriers = getCourier(trackingNumber);
447 | console.log(couriers); // ['ups']
448 |
449 | // Check validity
450 | const isValidNumber = isValid(trackingNumber);
451 | console.log(isValidNumber); // true
452 |
453 | // Get tracking URL
454 | const url = getTrackingUrl(trackingNumber);
455 | console.log(url); // UPS tracking URL
456 |
457 | // Generate test tracking number
458 | const generated = generateTrackingNumber('ups');
459 | console.log(generated); // Valid UPS tracking number
460 |
461 | // Get detailed information
462 | const details = getDetailedCourierInfo(trackingNumber);
463 | console.log(details);
464 | // [{ courier: 'ups', valid: true, tracking_url: '...' }]
465 | const {
472 | getCourier,
473 | isValid,
474 | getTrackingUrl,
475 | generateTrackingNumber
476 | } = require('tracking-number-validation');
477 |
478 | // Validate tracking number
479 | const trackingNumber = '9400100000000000000000';
480 | const courier = getCourier(trackingNumber);
481 | console.log(courier); // ['usps']
482 |
483 | // Check if specific courier
484 | const isUSPS = require('tracking-number-validation')
485 | .isCourier(trackingNumber, 'usps');
486 | console.log(isUSPS); // true
487 |
488 | // Generate multiple numbers
489 | const multiple = require('tracking-number-validation')
490 | .generateMultipleTrackingNumbers('fedex', 3);
491 | console.log(multiple); // Array of FedEx tracking numbers
492 |
493 | // Inject custom pattern
494 | const success = require('tracking-number-validation')
495 | .injectPatterns('ups', /CUSTOM\\d{10}/);
496 | console.log(success); // true
497 |