我怎么知道字符串中是否所有字符都是大写的
How can I know if all chars are capitalized in a string?
如何确定字符串中是否所有字母都大写?
类似:
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);
JS Fiddle演示。
或者,如果你想有固定的精度:
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);
JS Fiddle演示。
更有用的是(因为我们还去掉了空白和小写),通过一个简单的检查来避免执行不必要的数学运算:
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);
JS Fiddle演示。
参考文献:
- JavaScript正则表达式
- CCD_ 1
- CCD_ 2
String.replace()
您可以尝试类似的
if (myString == myString.toUpperCase())
{
alert('all upper case');
}
这将检查完整的大写字符串。如果你想检查80%,那么你需要做一些数学逻辑,对每个字符进行循环。
相关文章:
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何显示字符串中最多 200 个字符
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 如何用jquery替换字符串中可能变化的字符
- 通过跳过拆分字符在 javascript 中拆分字符串
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 字符串替换-不支持格式字符'}'
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 将字符串分组为n个字符的块,并应用替换
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- Regex-从字符第N次出现到字符串末尾的匹配
- Visual Studio 2010跳转到下一个任意字符/字符串
- 估计存储在 localStorage (Javascript) 中的 10,000 个字符字符串的大小
- 字符字符串中最后一个单词的第一个字母
- 匹配任何字符字符串的正则表达式,最多为“/”Javascript
- 将特殊字符字符串到 JSON 字符串化非法令牌中
- 在javascript中计算精确的字符字符串高度