J'ai regardé autour de la façon d'utiliser JavaScript pour mettre les noms dans le bon cas, par exemple. george mchall deviendrait George McHall. J'ai pu trouver une place d'écriture sur CodeProject sur la façon de le faire, ainsi qu'une personne qui a l'intention pour le faire:Comment puis-je mettre des noms dans le cas de titre en JavaScript?
function toProperCase(s){
return s.toLowerCase().replace(/\b((m)(a?c))?(\w)/g,
function($1, $2, $3, $4, $5) {
if($2){
return $3.toUpperCase()+$4+$5.toUpperCase();
}
return $1.toUpperCase();
});
}
Cela permet ce que je cherche. Mais je dois pouvoir l'étendre davantage et ajouter des cas supplémentaires.
J'ai trouvé another page on John Gruber's site en faisant le cas du titre, mais je cherche seulement à faire des noms.
Alors, est-ce que quelqu'un a une idée sur l'extension? Je cherche vraiment un point dans la bonne direction.
Editer: Depuis que je semble frapper un mur ici, peut-être que quelqu'un a un moyen de le faire côté serveur. C'est au moins pour l'instant en utilisant ColdFusion pour le côté serveur. J'ai vu une implémentation en C#, mais je ne suis pas capable de passer en C# pour le moment.
Le problème est plus compliqué qu'il n'y paraît au premier abord. Vous devrez autoriser les cas au-delà de Mac/Mc. Par exemple, O'Brien, D'Agostino, LaSalle, etc. Regex peut ne pas s'avérer être le meilleur outil pour cela. Vous devrez peut-être recourir à une sorte de dictionnaire. – Robusto
Il prend déjà en compte les noms avec 'et - parce que l'expression régulière les compte comme un nouveau mot après le trait d'union ou l'apostrophe. Et la regex est déjà responsable du Mc/Mac. Je cherche vraiment à rendre compte des cas de La *. Quoi qu'il en soit, je suis manquant, je * devrais savoir comment ajouter une fois que je trouve comment continuer à l'étendre. Il n'y a rien de critique, j'essaie juste d'en attraper autant que possible pour obtenir une sortie cohérente. –
Considérez également les différents noms latins, comme "Oscar de la Renta" où il est incorrect pour les "de" et "la" à capitaliser. –