index.js
function splitAuthor(author) {
	return author
		.split(/\s*[,\.\s]\s*/)
		.filter(function(i) { return !!i }) // Strip out blanks
		.filter(function(i) { return !/^[0-9]+(st|nd|rd|th)$/.test(i) }); // Strip out decendent numerics (e.g. '1st', '23rd')
}
function splitAuthor(author) {
	return author
		.split(/\s*[,\.\s]\s*/)
		.filter(function(i) { return !!i }) // Strip out blanks
		.filter(function(i) { return !/^[0-9]+(st|nd|rd|th)$/.test(i) }); // Strip out decendent numerics (e.g. '1st', '23rd')
}
function splitAuthor ( author ) { return author . split ( / \s*[,\.\s]\s* / ) . filter ( function ( i ) { return ! ! i } ) // Strip out blanks . filter ( function ( i ) { return ! / ^[0-9]+(st|nd|rd|th)$ / . test ( i ) } ) ; // Strip out decendent numerics (e.g. '1st', '23rd') }
Splits an author string into its component parts
@param string author The raw author string to split
@return array An array composed of lastname, initial/name
Splits an author string into its component parts