483 Stimmen

Wie kann ich mit JavaScript testen, ob ein Buchstabe in einer Zeichenkette groß oder klein geschrieben wird?

Wie kann ich mit JavaScript testen, ob ein Buchstabe in einer Zeichenkette groß oder klein geschrieben wird?

504voto

Die Antwort von josh und maleki gibt sowohl bei Groß- als auch bei Kleinbuchstaben true zurück, wenn das Zeichen oder die gesamte Zeichenkette numerisch ist, so dass das Ergebnis falsch ist. Beispiel mit josh

var character = '5';
if (character == character.toUpperCase()) {
 alert ('upper case true');
}
if (character == character.toLowerCase()){
 alert ('lower case true');
}

eine andere Möglichkeit besteht darin, zuerst zu prüfen, ob es sich um einen numerischen Wert handelt, und dann zu prüfen, ob es sich um Groß- oder Kleinschreibung handelt Beispiel

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++;
}

96voto

WebFreak001 Punkte 2175

Das Problem bei den anderen Antworten ist, dass einige Zeichen wie Zahlen oder Satzzeichen auch bei der Prüfung auf Klein-/Großschreibung true zurückgeben.

Ich habe festgestellt, dass dies sehr gut funktioniert:

function isLowerCase(str)
{
    return str == str.toLowerCase() && str != str.toUpperCase();
}

Dies gilt für Satzzeichen, Zahlen und Buchstaben:

assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))

Um einen Buchstaben zu prüfen, rufen Sie ihn einfach mit isLowerCase(str[charIndex])

87voto

Daniel Vandersluis Punkte 87406
if (character == character.toLowerCase())
{
  // The character is lowercase
}
else
{
  // The character is uppercase
}

73voto

Abdennour TOUMI Punkte 75271
const isUpperCase = (string) => /^[A-Z]*$/.test(string)

dann:

isUpperCase('A') // true
isUpperCase('a') // false

50voto

ciembor Punkte 6908

Damit wird true protokolliert, wenn das Zeichen ein Großbuchstabe ist, und false in jedem anderen Fall:

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);
    }
}

Sie können es hier testen: http://jsfiddle.net/Axfxz/ (Firebug oder ähnliches verwenden).

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);
    }
}

und dies ist für Kleinbuchstaben:).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X