JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6379
  • Score
    100M100P100Q171676F
  • License MIT

Yet another name parser (prefix, first, middle, last, and suffix)

Package Exports

  • another-name-parser
  • another-name-parser/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (another-name-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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.

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