文字列内のすべての文字が大文字になっているかどうかを確認するにはどうすればよいですか?
お気に入り:
var someVar = 'AAAAA DDSSS asssd';
それとも、文字の 80% 以上が大文字ですか?
文字列内のすべての文字が大文字になっているかどうかを確認するにはどうすればよいですか?
お気に入り:
var someVar = 'AAAAA DDSSS asssd';
それとも、文字の 80% 以上が大文字ですか?
私はお勧めします:
function capitalized (str) {
var len = str.length,
noCapitals = str.replace(/[a-z]/g,''),
percent = (noCapitals.length/len) * 100;
return percent;
}
var someVar = 'AAAAA DDSSS addes',
p = capitalized(someVar);
console.log(p);
または、固定精度が必要な場合:
function capitalized (str) {
var len = str.length,
noCapitals = str.replace(/[a-z]/g,''),
percent = (noCapitals.length/len) * 100;
return parseFloat(percent.toFixed(2));
}
var someVar = 'AAAAA DDSSS addes',
p = capitalized(someVar);
console.log(p);
そして、不要な計算の実行を避けるための簡単なチェックを使用して、もう少し便利です (空白と小文字も削除するという点で)。
function capitalized (str) {
var len = str.length,
noCapitals = str.replace(/[a-z]\s/g,''),
percent = noCapitals.length === 0 ? 100 : (noCapitals.length/len) * 100;
return parseFloat(percent.toFixed(2));
}
var someVar = 'AAAAA DDSSS',
p = capitalized(someVar);
console.log(p);
参考文献:
このようなものを試すことができます
if (myString == myString.toUpperCase())
{
alert('all upper case');
}
これにより、完全な大文字の文字列がチェックされます。80% のようにチェックしたい場合は、すべての文字をループして数学ロジックを実行する必要があります。