如何使用JavaScript测试字符串中的字母是大写还是小写?
当前回答
如果字符是大写字母,则log true,其他情况则log false:
var letters = ['a', 'b', 'c', 'A', 'B', 'C', '(', ')', '+', '-', '~', '*'];
for (var i = 0; i<letters.length; i++) {
if (letters[i] === letters[i].toUpperCase()
&& letters[i] !== letters[i].toLowerCase()) {
console.log(letters[i] + ": " + true);
} else {
console.log(letters[i] + ": " + false);
}
}
你可以在这里测试:http://jsfiddle.net/Axfxz/(使用Firebug或其他工具)。
for (var i = 0; i<letters.length; i++) {
if (letters[i] !== letters[i].toUpperCase()
&& letters[i] === letters[i].toLowerCase()) {
console.log(letters[i] + ": " + true);
} else {
console.log(letters[i] + ": " + false);
}
}
这是小写的:)。
其他回答
const isUpperCase = (string) => /^[A-Z]*$/.test(string)
然后:
isUpperCase('A') // true
isUpperCase('a') // false
在现代浏览器中,您可以使用regexp和unicode属性测试。
/\p{Lu}/u.test("A") // is true
/\p{Lu}/u.test("Å") // is true
/\p{Lu}/u.test("a1å") // is false
更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
一般类别列表如下:
https://unicode.org/reports/tr18/#General_Category_Property
还可以使用正则表达式显式地检测大写罗马字母字符。
isUpperCase = function(char) {
return !!/[A-Z]/.exec(char[0]);
};
EDIT:上面的函数对ASCII/基本拉丁Unicode是正确的,这可能是你所关心的。以下版本还支持拉丁-1补充和希腊和科普特Unicode块…以防你因为什么原因需要它。
isUpperCase = function(char) {
return !!/[A-ZÀ-ÖØ-ÞΆΈ-ΏΑ-ΫϢϤϦϨϪϬϮϴϷϹϺϽ-Ͽ]/.exec(char[0]);
};
如果您需要进一步的支持(Ѭ是大写的吗?),这个策略就会失效,因为有些块会混合大小写字符。
josh和maleki的答案如果字符或整个字符串都是数字,则在大写和小写都返回true。使结果为假结果。 使用josh的例子
var character = '5';
if (character == character.toUpperCase()) {
alert ('upper case true');
}
if (character == character.toLowerCase()){
alert ('lower case true');
}
另一种方法是首先测试它是否为数字,否则测试它是否为大写或小写 例子
var strings = 'this iS a TeSt 523 Now!';
var i=0;
var character='';
while (i <= strings.length){
character = strings.charAt(i);
if (!isNaN(character * 1)){
alert('character is numeric');
}else{
if (character == character.toUpperCase()) {
alert ('upper case true');
}
if (character == character.toLowerCase()){
alert ('lower case true');
}
}
i++;
}
if (character == character.toLowerCase())
{
// The character is lowercase
}
else
{
// The character is uppercase
}