doi-utils
v2.0.3
Published
Set of utility functions to help with handling DOI(Digital Object Identifier)
Downloads
7,220
Readme
doi-utils
A small utility for validating, normalizing, and extracting DOIs from text strings. This repository follows the advice of CrossRef for regular expression patterns.
For the 74.9M DOIs we have seen this matches 74.4M of them. If you need to use only one pattern then use this one.
The utility also recognizes URLs that are likely DOIs, and has specific handling for some repositories (e.g. eLife, Zenodo).
Install
npm install doi-utils
Overview & Usage
import { doi } from 'doi-utils';
const isValid = doi.validate('http://doi.org/10.1016/j.cageo.2015.09.015');
doi.buildUrl('http://dx.doi.org/10.1016/j.cageo.2015.09.015');
doi.buildUrl('http://www.doi.org/10.1016/j.cageo.2015.09.015');
doi.buildUrl('http://doi.org/10.1016/j.cageo.2015.09.015');
doi.buildUrl('doi:10.1016/j.cageo.2015.09.015');
// All of these produce a normalized, secure DOI url:
// https://doi.org/10.1016/j.cageo.2015.09.015
Included Utilities
validate
- Validates if a single DOI string is valid, is tolerant of leading link ordoi:
strings.validatePart
- Validate the "10.1016/j.cageo.2015.09.015" part of a DOI.normalize
- Normalizes a DOI url or string into a DOI of the form10.1000/xyz000
buildUrl
- Builds a URL to https://doi.org, includes normalizationisOpenFunderRegistry
- Returns true if the DOI is in the Open Funder Registry
Options
strict
: only accept doi.org URLs anddoi:
prefixes
As of v2.0.0 this package is ESM only.