タイトル通りJavaScriptで文字・文字列の大文字小文字を調べる方法を色々。
正規表現で
//正規表現で 文字列すべてが大文字かどうか
const isUpperCase = str => {
return /^[A-Z]+$/g.test(sr)
}
console.log(isUpperCase('AA')) // true
console.log(isUpperCase('aa')) // false
console.log(isUpperCase('Aa')) // false
//string.matchを使った正規表現で文字列がすべてが大文字ならtrue
const isUpperCase = str => {
const arr = str.match(/^[A-Z]+$/)
return arr ? true : false
}
console.log(isUpperCase('ABC')) // true
console.log(isUpperCase('abc')) // false
console.log(isUpperCase('Abc')) // false
String.toUpperCaseして比較する
//String.toUpperCase/String.toLowerCase を使って
const isUpperCase = str => {
return 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 isUpperCase = str => {
const codeA = 'A'.charCodeAt()
const codeZ = 'Z'.charCodeAt()
const code = str.charCodeAt()
return codeA <= code && code <= codeZ
}
console.log(isUpperCase('A')) // true
console.log(isUpperCase('B')) // true
console.log(isUpperCase('Z')) // true
console.log(isUpperCase('a')) // false
console.log(isUpperCase('b')) // false
console.log(isUpperCase('z')) // false
//上記を利用して配列のいずれかに大文字が含まれるか
console.log(['A', 'B', 'c'].some(isUpperCase)) //true
//配列のすべてが大文字かどうか
console.log(['A', 'B', 'c'].every(isUpperCase)) //false
大文字の文字列と照らし合わせて
//ABC...Zの文字列に合致するか
const strAtoZ = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
const isUpperCase = arr => {
for (let i = 0; i < strAtoZ.length; i++) {
if (arr === strAtoZ[i]) {
return true
}
}
return false
}
console.log(isUpperCase('A')) // true
console.log(isUpperCase('a')) // false
//配列にして
const isUpperCase = str => {
const arr = STR.split('')
return arr.indexOf(str) >= 0 ? true : false
}
console.log(isUpperCase('A')) // true
console.log(isUpperCase('a')) // false