ユーザーが情報を入力するフォームがあり、この情報はサイトで公開されています。ユーザーが情報を正しく入力することを信頼できないため、javascript を使用してエラーを修正しています。たとえば、フィールドの 1 つは、次の形式 (適切なケース) で人の名前を入力するように要求します。
次の関数を使用して、入力をタイトルケース/プロパーケースに変換しています。
var firstname = [the value the person entered on the form as the first name]
function toTitleCase(str) { return str.replace(/wS*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});}
toTitleCase(firstname);
私が経験している問題は、CFO や CPA (またはすべて大文字を必要とするその他の頭字語) のように、同じフィールドで意図的に一連のすべて大文字を使用しようとする場合です。たとえば、「first name CPA」と入力すると、javaascript 関数はそれを「First Name Cpa」に変換します。これはほぼ正しいですが、CPA はすべて大文字のままにする必要があります。
解決策がわからないので、これは私にとって頭の体操です。何か助けはありますか?解決策が何であれ、それを思いつくことができれば、それは絶対に JavaScript の解決策でなければなりません。