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