Skip to content

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

License

Notifications You must be signed in to change notification settings

kevhender/node-another-name-parser

 
 

Repository files navigation

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

var parser = require('another-name-parser');

var 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

Dependencies: grunt-cli

npm install -g grunt-cli
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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%