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

时间:2013-12-02 13:38:39

标签: javascript php string

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

abcXYZ123

将导致

abcXYZ123

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

如何正确转换?

mb_strtolower()我只能将它全部转换为小写 用:

mb_strtolower('ABCxyz!"§');

数字未恢复:

abcxyz!"§

2 个答案:

答案 0 :(得分:1)

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

要更新并结束所有这些,我必须告诉你,你甚至无法检查天气大写锁定是否被按下。

简单证明:

前往jQuery .keypress手册页:http://api.jquery.com/keypress/

转到最底部并按一个键。然后按下大写锁定。

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

-fin -

答案 1 :(得分:0)

只需在用户输入时显示关于大写锁定的消息并且不在乎...您无法检测用户是否在服务器端使用大写锁定。

快速示例如何在用户输入char时检测:

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