Giter Club home page Giter Club logo

node-another-name-parser's Introduction

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

node-another-name-parser's People

Contributors

mklaber avatar

Watchers

Ryan Leckey avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.