JavaScript를 사용하여 문자열의 문자가 대문자인지 소문자인지 어떻게 테스트합니까?
답변
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
}
답변
문자가 대문자이면 true를 기록하고 다른 모든 경우에는 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 또는 sth 사용) 에서 테스트 할 수 있습니다 .
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);
}
}
그리고 이것은 소문자입니다 :).
답변
다른 답변의 문제는 숫자 또는 문장 부호와 같은 일부 문자도 소문자 / 대문자를 확인할 때 true를 반환한다는 것입니다.
나는 이것이 잘 작동한다는 것을 알았다.
function isLowerCase(str)
{
return str == str.toLowerCase() && str != str.toUpperCase();
}
구두점, 숫자 및 문자에 사용할 수 있습니다.
assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))
한 글자를 확인하려면 다음을 사용하여 전화하십시오. isLowerCase(str[charIndex])
답변
const isUpperCase = (string) => /^[A-Z]*$/.test(string)
그때 :
isUpperCase('A') // true
isUpperCase('a') // false
답변
정규식 테스트 및 toUpperCase
방법을 활용할 수 있습니다 .
String.prototype.charAtIsUpper = function (atpos){
var chr = this.charAt(atpos);
return /[A-Z]|[\u0080-\u024F]/.test(chr) && chr === chr.toUpperCase();
};
// usage (note: character position is zero based)
'hi There'.charAtIsUpper(3); //=> true
'BLUE CURAÇAO'.charAtIsUpper(9); //=> true
'Hello, World!'.charAtIsUpper(5); //=> false
답변
function isUpperCase(myString) {
return (myString == myString.toUpperCase());
}
function isLowerCase(myString) {
return (myString == myString.toLowerCase());
}