如果有人在键入密码时按下了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');
}