JavaScriptの文字列値をすべて小文字に変換するにはどうすればよいですか。
例: "あなたの名前"から "あなたの名前"
var lowerCaseName = "Your Name".toLowerCase();
String オブジェクトの toLowerCase または toLocaleLowerCase メソッドを使用します。違いは、toLocaleLowerCase
はユーザー/ホストの現在のロケールを考慮に入れるということです。 ECMAScript言語仕様(ECMA-262)の§15.5.4.17によれば 、toLocaleLowerCase
…
toLowerCaseとまったく同じように機能しますが、結果がロケールに依存しない結果ではなく、ホスト環境の現在のロケールに対して正しい結果をもたらすことを意図している点が異なります。その言語の規則が通常のUnicodeの大文字小文字のマッピングと矛盾する少数の場合(トルコ語など)に違いがあるだけです。
例:
var lower = 'Your Name'.toLowerCase();
toLowerCase
およびtoLocaleLowerCase
関数は、 any value型で一般的に機能するように実装されています。したがって、String
以外のオブジェクトでもこれらの関数を呼び出すことができます。そうすることは、結果の文字列値の各文字の大文字と小文字を変更する前に、文字列値への自動変換を意味します。たとえば、 apply toLowerCase
を次のような日付に直接指定できます。
var lower = String.prototype.toLowerCase.apply(new Date());
そしてこれは実質的に次のものと同等です。
var lower = new Date().toString().toLowerCase();
第二の形態は、その単純さと読みやすさのために一般的に好ましい。以前のバージョンのIEでは、最初のバージョンにはnull
値を使用できるという利点がありました。 toLowerCase
にtoLocaleLowerCase
またはnull
を適用した結果はnull
になります(エラー条件ではありません)。
はい、JavaScriptのどの文字列にもtoLowerCase()
メソッドがあり、これはすべて小文字の古い文字列である新しい文字列を返します。古い文字列は変更されません。
だから、あなたは次のようなことをすることができます:
"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();
toLocaleUpperCase()または小文字の関数は、本来の動作とは異なります。
例えば私のシステム、Safari 4、Chrome 4 Beta、Firefox 3.5.xでは、トルコ語の文字列を誤って変換します。
ブラウザはそれぞれ "en-US"、 "tr"、 "en-US"としてnavigator.languageに応答します。
しかし、私の知る限りでは、ブラウザでユーザーのAccept-Lang設定を取得する方法はありません。
私はすべてのブラウザをtr-TRロケールを優先するように設定しましたが、Chromeだけが私に問題を与えてくれます。
これらの設定はHTTPヘッダーにのみ影響すると思いますが、JS経由でこれらの設定にアクセスすることはできません。
Mozillaのドキュメントに "それは"現在のロケールを尊重しながら文字列内の文字は...に変換されます。
ほとんどの言語では、これは...と同じ結果になります。 ".
私はそれがトルコ語に有効であると思います、それがそれがenまたはtrとして設定されるのと違いはありません。
トルコ語では、「DİNÇ」を「dinç」に、「DINÇ」を「dınç」に、またはその逆に変換する必要があります。
toLowerCase()
、toUpperCase()
およびプロトタイプの単なる例で、まだ利用できないtoTitleCase()
またはtoPropperCase()
String.prototype.toTitleCase = function() {
return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}
String.prototype.toPropperCase = function() {
return this.toTitleCase();
}
var OriginalCase = 'Your Name';
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();
console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);
2018年編集
メソッドまたは関数:toLowerCase()、toUpperCase()
説明:これらのメソッドは、小文字から大文字へ、またはその逆の文字列またはアルファベットをカバーするために使用されます。例: "and"から "AND"。
大文字への変換: - コード例: -
<script language=javascript>
var ss = " testing case conversion method ";
var result = ss.toUpperCase();
document.write(result);
</script>
結果:テストケース変換方法
小文字への変換: - コード例:
<script language=javascript>
var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
var result = ss.toLowerCase();
document.write(result);
</script>
結果:小文字変換関数のテスト
説明:上記の例では、
toUpperCase() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.
この関数はSTRINGオブジェクトに対してのみ機能することに注意してください。
例えば、私はプラグインを消費していて、 "extension.tolowercaseは関数ではありません"というJSエラーが発生した理由を混乱させました。
onChange: function(file, extension)
{
alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");
"extension.toLowerCaseは関数ではありません"というエラーが発生したので、私は問題を明らかにしたこのコードを試してみました!
alert("(typeof extension)=>" + (typeof extension) + "<=");;
出力は "(typeof extension)=> object <="だった - だからああ、私は私の入力のための文字列varを取得していなかった。ただし、修正方法は単純明快です。ただ、無駄なことをStringに強制するだけです。
var extension = String(extension);
キャスト後、extension.toLowerCase()関数は正常に機能しました。
単にJS toLowerCase()
を使うlet v = "Your Name" let u = v.toLowerCase();
またはlet u = "Your Name".toLowerCase();
オプション1:toLowerCase()を使用。
var x = "ABC";
x=x.toLowerCase();
オプション2:自分の機能を使う
function convertToLowerCase(str) {
var result = ''
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i)
if (code > 64 && code < 91) {
result += String.fromCharCode(code + 32)
} else {
result += str.charAt(i)
}
}
return result
}
と呼んでください。
x= convertToLowerCase(x);
あなた自身でそれを構築したい場合には:
function toLowerCase(string) {
let lowerCaseString = "";
for (let i = 0; i < string.length; i++) {
//find ASCII charcode
let charcode = string.charCodeAt(i);
//if uppercase
if (charcode > 64 && charcode < 97){
//convert to lowercase
charcode = charcode + 32
}
//back to char
let lowercase = String.fromCharCode(charcode);
//append
lowerCaseString = lowerCaseString.concat(lowercase);
}
return lowerCaseString
}
この短い方法でトレイ
document.write((a+"").toUpperCase());