2012-06-28 2 views
7

Ich mag Leute nicht wirklich, die mit Feststelltaste schreiben. Zusätzlich zu der Aversion, entstellt es die gesamte Anwendung. Ich frage mich, wie man verhindern kann, dass Benutzer alle Zeichen mit Feststelltaste schreiben. Ich kann nicht alle Texte aufgrund spezieller Namen und Abkürzungen in Kleinbuchstaben schreiben. Welche Logik sollte ich verwenden?Wie verhindert man, dass Benutzer mit Feststelltaste schreiben?

+8

Wenn Sie Großbuchstaben so sehr mögen, warum haben Sie uns eine Frage mit Großbuchstaben gestellt? –

+0

Ich glaube nicht, dass Sie das können, da der Algorithmus alle speziellen Namen und Abkürzungen verstehen müsste, die ein Benutzer eingeben könnte. Es ist leicht genug, die Kapitalisierung von Titeln oder Satzkapitalisierung zu erzwingen, aber diese werden Leute mit bestimmten Namen (McLaren) oder ähnlichem brechen. Sie könnten vielleicht eine Whitelist zulässiger Abkürzungen verwenden. – Oliver

+0

@HighPerformanceMark nur zum Testen :) – quosal

Antwort

9

Lassen Sie höflich ihre Beiträge zurück - erklären warum - wenn die Zahl der Großbuchstaben die Anzahl der Kleinbuchstaben um mehr als 30 übersteigt.

Diese Mitteilung nicht auf einem Fortran-Forum implementieren

+1

+1 für FORTRAN. – Oliver

0
keypress: function(e) { 
    var ev = e ? e : window.event; 
    if (!ev) { 
     return; 
    } 
    var targ = ev.target ? ev.target : ev.srcElement; 
    // get key pressed 
    var which = -1; 
    if (ev.which) { 
     which = ev.which; 
    } else if (ev.keyCode) { 
     which = ev.keyCode; 
    } 
    // get shift status 
    var shift_status = false; 
    if (ev.shiftKey) { 
     shift_status = ev.shiftKey; 
    } else if (ev.modifiers) { 
     shift_status = !!(ev.modifiers & 4); 
    } 

    // At this point, you have the ASCII code in "which", 
    // and shift_status is true if the shift key is pressed 
} 

Quelle - http://24ways.org/2007/capturing-caps-lock

3

Sie können prüfen, wie viele Großbuchstaben in einem Wort sind, dann ist das begrenzen. Jemand oben hat das Beispiel von Namen wie 'McLaren' gegeben, diese Art würde das erlauben. Die untere Seite ist, wenn Sie das Maximum auf 3 setzen, wäre 'LOL' immer noch möglich. Der Weg zu gehen wäre, nehmen Sie die Länge des Wortes "McLaren" wäre 7 dann cap es auf einen Prozentsatz wie 20%, dies ermöglicht längere Wörter mehr Großbuchstaben, aber nicht alle Großbuchstaben. (Nichts wird es vollständig verhindern, aber das wird es für sie schwieriger machen.)

Fun Tatsache, heute ist internationale Caps-Lock-Tag. :)

+0

+1 für internationale Caps-Lock-Tag - LOL – sajawikio

Verwandte Themen