如何转换使用CAPSLOCK键入的密码的特殊字符


How do I convert special chars of passwords typed with CAPSLOCK?

如果有人在键入密码时按下了CAPSLOCK,

abcXYZ123

将导致

abcXYZ123

(或者可能是某些操作系统上的ABCxyz!"§?)

如何正确转换?

使用mb_strtolower(),我只能将其全部转换为小写
带有:

mb_strtolower('ABCxyz!"§');

号码没有恢复:

abcxyz!"§

正如我在评论中所说,你不能做你想做的事。

为了更新和结束这一切,我必须告诉你,你甚至不能可靠地检查天气帽锁是否被按下。

简单证明:

前往jQuery。按键手册页面:http://api.jquery.com/keypress/

转到最底部并按键。然后按下盖帽锁。

大写锁定不会触发按键事件,也没有自己的按键代码

-fin-

当用户输入caplock时,只显示关于它的消息,而不在乎。。。您无法检测用户是否在服务器端使用capslock。

快速示例如何检测用户何时输入字符:

$('#password').keypress(function(e) { 
    var s = String.fromCharCode( e.which );
    if ( s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey ) {
        alert('caps is on');
    }