Detect and validate tracking numbers for USPS, UPS, FedEx, and other major couriers.
npm install ts-tracking-numberCurrent supported Couriers are USPS, UPS, FedEx, DHL, OnTrac, Amazon Logistics, and national postal services using the S10 standard.
npm install ts-tracking-numberor
yarn add ts-tracking-number
import { getTracking } from 'ts-tracking-number';// Good tracking number
const tracking = getTracking('9400111202555842332669');
/*
{
"name":"USPS 91",
"trackingUrl":"https://tools.usps.com/go/TrackConfirmAction?tLabels=%s",
"description":"USPS now calls this the IMpd barcode format",
"trackingNumber":"9400111202555842332669",
"courier":{
"name":"United States Postal Service",
"code":"usps"
}
}
*/
// Invalid tracking number
const tracking = getTracking('9261292700768711948020'); // undefined
`$3
`
import { findTracking } from 'ts-tracking-number';const text =
A good number is 9400111202555842332669, but 9261292700768711948020 is bad and;const tracking = findTracking(text);
/*
[
{
name: 'FedEx Express (12)',
trackingUrl: 'https://www.fedex.com/apps/fedextrack/?tracknumbers=%s',
description: null,
trackingNumber: '986578788855',
courier: { name: 'FedEx', code: 'fedex' }
},
{
name: 'USPS 20',
trackingUrl: 'https://tools.usps.com/go/TrackConfirmAction?tLabels=%s',
description: '20 digit USPS numbers',
trackingNumber: '71123456789123456787',
courier: { name: 'United States Postal Service', code: 'usps' }
}
]
*/
`$3
Optionally you may specify which carrier(s) to retrieve in either getTracking or findTracking by passing an array of couriers to the function.Filterable couriers are
amazon, dhl, fedex, ontrac, s10, ups, usps`
import { getTracking, findTracking, ups, fedex } from 'ts-tracking-number';const fedexNumber = '986578788855';
// This will ensure we're verifying for FedEx only
getTracking(fedexNumber, [fedex]);
// This will be undefined
getTracking(fedexNumber, [ups]);
// Search text for only fedex or ups numbers
findTracking('A bunch of text...', [fedex, ups]);
``