如何防止用户使用大写锁定写入?

时间:2012-06-28 11:18:12

标签: algorithm lowercase capslock

我真的不喜欢使用Caps Lock编写的人。除了厌恶之外,它还污损了整个应用程序。我想知道如何防止用户使用大写锁定编写所有字符。由于特殊名称和缩写,我无法强制所有文本为小写。我应该使用什么逻辑?

3 个答案:

答案 0 :(得分:9)

礼貌地拒绝他们的帖子 - 解释原因 - 如果大写字母的数量超过小写字母的数量超过30,比如说。

请勿在FORTRAN论坛上实现此功能

答案 1 :(得分:3)

您可以检查单词中有多少大写字符,然后限制它。上面的人给出了像'迈凯轮'这样的名字的例子,这样就可以了。不好的一面是,如果你把最大值放在3,那么'LOL'就是可能的。 要走的路是将“迈凯轮”这个词的长度设为7,然后按照20%的百分比来限制,这样可以让更长的单词有更多的大写字符,但不是全部大写字母。 (没有什么能完全阻止它,但这会让它们变得更难。)

有趣的是,今天是国际大写锁定日。 :)

答案 2 :(得分: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
}

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