Edited at

JavaScript 文字・文字列が大文字(小文字)かどうか判定する方法いろいろ

タイトル通りJavaScriptで文字・文字列の大文字小文字を調べる方法を色々。


正規表現で

//正規表現で 文字列すべてが大文字かどうか

const isUpperCase = c => {
return /^[A-Z]+$/g.test(c)
}
console.log(isUpperCase('AA')) // true
console.log(isUpperCase('aa')) // false
console.log(isUpperCase('Aa')) // false

//string.matchを使った正規表現で文字列がすべてが大文字ならtrue

const isUpperCase = str => {
let arr = str.match(/^[A-Z]+$/)
return arr ? true : false
}
console.log('isUpperCase', isUpperCase('ABC')) // true
console.log('isUpperCase', isUpperCase('abc')) // false
console.log('isUpperCase', isUpperCase('Abc')) // false


String.toUpperCaseして比較する

//String.toUpperCase/String.toLowerCase を使って

const isUpperCase = str => {
rdturn str === str.toUpperCase() ? true : false
}
console.log(isUpperCase('STR')) // true
console.log(isUpperCase('stR')) // false
console.log(isUpperCase('str')) // false


UTF-16 コードを使って判定

//AからZのcharCodeAtの値の範囲から

const isUpperCaseCharCode = c => {
const codeA = 'A'.charCodeAt()
const codeZ = 'Z'.charCodeAt()
const code = c.charCodeAt()
return codeA <= code && code <= codeZ
}
console.log(isUpperCaseCharCode('A')) // true
console.log(isUpperCaseCharCode('B')) // true
console.log(isUpperCaseCharCode('Z')) // true

console.log(isUpperCaseCharCode('a')) // false
console.log(isUpperCaseCharCode('b')) // false
console.log(isUpperCaseCharCode('z')) // false

//上記を利用して配列のいずれかに大文字が含まれるか
console.log(['A', 'B', 'c'].some(isUpperCaseCharCode)) //true

//配列のすべてが大文字かどうか
console.log(['A', 'B', 'c'].every(isUpperCaseCharCode)) //false


大文字の文字列と照らし合わせて

//ABC...Zの文字列に合致するか

const STR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
const isUpperCaseABC = c => {
for (let i = 0; i < STR.length; i++) {
if (c === STR[i]) {
return true
}
}
return false
}
console.log(isUpperCaseABC('A')) // true
console.log(isUpperCaseABC('a')) // false

//配列にして
const isUpperCaseInArray = c => {
let arr = STR.split('')
return arr.indexOf(c) >= 0 ? true : false
}
console.log(isUpperCaseInArray('A')) // true
console.log(isUpperCaseInArray('a')) // false