7

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

4

3 回答 3

10

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

不要在 FORTRAN 论坛上实现这个

于 2012-06-28T11:21:06.197 回答
3

您可以检查一个单词中有多少个大写字符,然后限制它。上面有人给出了像“迈凯轮”这样的名字的例子,这样就可以了。不利的一面是,如果你把最大值放在 3 上,'LOL' 仍然是可能的。可行的方法是将“McLaren”这个词的长度设置为 7,然后将其上限设置为 20%,这使得更长的单词可以有更多的大写字符,但不是全部大写。(没有什么能完全阻止它,但这会让他们更难。)

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

于 2012-06-28T11:34:38.463 回答
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

于 2012-06-28T11:22:26.300 回答