4

文字列をタイトルケースに変換できる JavaScript 関数を作成できますが、非 ASCII (Unicode) 文字で機能する関数を作成できますか? たとえば、次のような文字を使用します。

Áá  Àà  Ăă  Ắắ  Ằằ  Ẵẵ  Ẳẳ  Ââ  Ấấ  Ầầ  Ẫẫ  Ẩẩ  Ǎǎ  Åå  Ǻǻ  Ää  Ǟǟ  Ãã
Éé  Èè  Ĕĕ  Êê  Ếế  Ềề  Ễễ  Ểể  Ěě  Ëë  Ẽẽ  Ėė  Ȩȩ  Ḝḝ  Ęę  Ēē  Ḗḗ  Ḕḕ
etc.

たとえば、文字列が「anders ångström」の場合、「Anders Ångström」に変換する必要があります。既に存在するスクリプトは「Anders åNgström」に変換されます。

4

2 に答える 2

23

これを試して:

var str = 'anders ångström';

str = str.replace(/[^\s]+/g, function(word) {
  return word.replace(/^./, function(first) {
    return first.toUpperCase();
  });
});

console.log(str); //=> "Anders Ångström"
于 2013-03-01T04:30:18.590 に答える
-1

Javascript の組み込み変換は Unicode 対応です。たとえば、"å".toUpperCase()return"Å"です。したがって、「既存のスクリプト」が何を間違っているのかわかりません。

ただし、完全な Unicode 対応の大文字と小文字の変換 (またはその他の Unicode サポート) が必要な場合は、unicode.jsを参照してください。

于 2013-03-01T03:59:08.323 に答える