1

ユーザーが情報を入力するフォームがあり、この情報はサイトで公開されています。ユーザーが情報を正しく入力することを信頼できないため、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 の解決策でなければなりません。

4

1 に答える 1

0

残念ながら、これはおそらく不可能です。機能する可能性がある唯一の解決策は、特定の大文字と小文字の設定が必要な単語/フレーズのリストを用意することです。しかし、マクドナルドのような終わりのない名前のリストを把握することも困難です。したがって、エントリを修正したり、単に手動でエントリを確認したりしないことをお勧めします。

于 2013-01-09T06:35:17.703 に答える