You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			22 lines
		
	
	
		
			502 B
		
	
	
	
		
			TypeScript
		
	
		
		
			
		
	
	
			22 lines
		
	
	
		
			502 B
		
	
	
	
		
			TypeScript
		
	
| 
											7 years ago
										 | const BAD_CHARACTERS = /[^A-Za-z\s]+/g; | ||
|  | const WHITESPACE = /\s+/g; | ||
|  | 
 | ||
|  | function removeNonInitials(name: string) { | ||
|  |   return name.replace(BAD_CHARACTERS, '').replace(WHITESPACE, ' '); | ||
|  | } | ||
|  | 
 | ||
|  | export function getInitials(name?: string): string | null { | ||
|  |   if (!name) { | ||
|  |     return null; | ||
|  |   } | ||
|  | 
 | ||
|  |   const cleaned = removeNonInitials(name); | ||
|  |   const parts = cleaned.split(' '); | ||
|  |   const initials = parts.map(part => part.trim()[0]); | ||
|  |   if (!initials.length) { | ||
|  |     return null; | ||
|  |   } | ||
|  | 
 | ||
|  |   return initials.slice(0, 2).join(''); | ||
|  | } |