another-name-parser
v0.1.0
Published
Yet another name parser (prefix, first, middle, last, and suffix)
Downloads
8,432
Maintainers
Readme
another-name-parser
Here's yet another name parsing node.js library. It'll take a personal name
and returns a prefix
(title), first
(or given name), middle
(or initial), last
(or family name),
and suffix
. It's designed for US English but could be useful elsewhere. It's inspired by a SQL script a
colleague pulled together long ago combined with inspiration from a few other libraries.
Installation
Via npm
$ npm install another-name-parser
Usage
const parser = require('another-name-parser');
const name = parser('Commissioner James "Jim" W. Gordon, Sr.');
// → { prefix: 'Commissioner',
// first: 'James',
// middle: 'W.',
// last: 'Gordon',
// suffix: 'Sr.',
// original: 'Commissioner James "Jim" W. Gordon, Sr.' }
Features
- Handles many common prefixes/titles
- Retains
.
that appear in the original name (Dr. → Dr., PhD → PhD) - Recognizes common compound first names (Mary Jo, Juan Carlos, etc.)
- Recognizes common compound last name prefixes (St., Mac, Bin, etc.)
- Recognizes Last Name, First Name order
- Ignores quoted or parenthesized nicknames (Catherine "Cathy" Smith → Catherine Smith, James (Jim) Von Trapp → James Von Trapp)
Tests
npm test
TODO
- Handle multiple names, e.g, Jim & Mark Anderson
- Handle likely company names (maybe)
Acknowledgements
- My former colleague and whomever he got his original script from
- Some of the test cases and compound lastname prefixes came from the humanname module