JavaScriptで文字が大小文字かどうかを判定するコード例
JavaScriptで文字が大小文字かどうかを判定する方法
JavaScriptでは、文字列の各文字の大文字小文字を判定するために、toUpperCase()
とtoLowerCase()
メソッドを使用します。
toUpperCase()メソッド
このメソッドは、文字列内のすべての文字を大文字に変換します。
const str = "Hello, World!";
const uppercaseStr = str.toUpperCase();
console.log(uppercaseStr); // "HELLO, WORLD!"
const str = "Hello, World!";
const lowercaseStr = str.toLowerCase();
console.log(lowercaseStr); // "hello, world!"
大文字小文字の判定
これら2つのメソッドを使用して、文字が小文字か大文字かを判定することができます。
const str = "Hello, World!";
const char = str[0]; // 'H'
if (char === char.toUpperCase()) {
console.log("The character is uppercase.");
} else {
console.log("The character is lowercase.");
}
このコードでは、char === char.toUpperCase()
は、文字char
がその大文字版と一致する場合にtrue
を返します。つまり、文字が小文字の場合は、大文字版と一致しないため、false
が返されます。
toUpperCase()
とtoLowerCase()
メソッドを使用して、文字列内の文字を大文字または小文字に変換できます。
toUpperCase()とtoLowerCase()メソッドを使用した判定
const str = "Hello, World!";
const char = str[0]; // 'H'
if (char === char.toUpperCase()) {
console.log("The character is uppercase.");
} else {
console.log("The character is lowercase.");
}
- 説明:
str[0]
は、文字列str
の最初の文字を取得します。char.toUpperCase()
は、文字char
を大文字に変換します。char === char.toUpperCase()
は、文字がその大文字版と一致する場合にtrue
を返します。
正規表現を使用した判定
const str = "Hello, World!";
const char = str[0]; // 'H'
if (/[A-Z]/.test(char)) {
console.log("The character is uppercase.");
} else if (/[a-z]/.test(char)) {
console.log("The character is lowercase.");
} else {
console.log("The character is not a letter.");
}
- 説明:
/[A-Z]/.test(char)
は、文字char
が英大文字であるかどうかを判定します。
ASCIIコードを使用した判定
const str = "Hello, World!";
const char = str[0]; // 'H'
const charCode = char.charCodeAt(0);
if (charCode >= 65 && charCode <= 90) {
console.log("The character is uppercase.");
} else if (charCode >= 97 && charCode <= 122) {
console.log("The character is lowercase.");
} else {
console.log("The character is not a letter.");
}
- 説明:
char.charCodeAt(0)
は、文字char
のASCIIコードを取得します。- ASCIIコードの範囲で、英大文字は65から90、英小文字は97から122です。
Unicode範囲を使用した判定
const str = "Hello, World!";
const char = str[0]; // 'H'
const charCode = char.codePointAt(0);
if (charCode >= 65 && charCode <= 90) {
console.log("The character is uppercase.");
} else if (charCode >= 97 && charCode <= 122) {
console.log("The character is lowercase.");
} else {
console.log("The character is not a letter.");
}
localeCompare()メソッドを使用した判定
const str = "Hello, World!";
const char = str[0]; // 'H'
if (char.localeCompare(char.toUpperCase(), undefined, { sensitivity: 'base' }) === 0) {
console.log("The character is uppercase.");
} else if (char.localeCompare(char.toLowerCase(), undefined, { sensitivity: 'base' }) === 0) {
console.log("The character is lowercase.");
} else {
console.log("The character is not a letter.");
}
- 説明:
localeCompare()
メソッドは、文字列を比較します。sensitivity: 'base'
オプションは、大文字小文字を区別せずに比較します。
Intl.Charオブジェクトを使用した判定
const str = "Hello, World!";
const char = str[0]; // 'H'
if (Intl.Char.isUpperCase(char)) {
console.log("The character is uppercase.");
} else if (Intl.Char.isLowerCase(char)) {
console.log("The character is lowercase.");
} else {
console.log("The character is not a letter.");
}
- 説明:
Intl.Char
オブジェクトは、Unicode文字の情報を提供します。
javascript