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