another-name-parser
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

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.

NPM

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., PhDPhD)
  • 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" SmithCatherine Smith, James (Jim) Von TrappJames 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

License

MIT License

Author

Matt Klaber

Package Sidebar

Install

npm i another-name-parser

Weekly Downloads

954

Version

0.1.0

License

MIT

Unpacked Size

14.8 kB

Total Files

11

Last publish

Collaborators

  • mklaber