Javascript String.fromCharCode 区分大小写?

Posted

技术标签:

【中文标题】Javascript String.fromCharCode 区分大小写?【英文标题】:Javascript String.fromCharCode Case Sensitivity? 【发布时间】:2013-02-03 08:03:54 【问题描述】:

我只是在监听输入元素的 keyup 事件并将结果收集到一个字符串中

word=word+String.fromCharCode(key.keyCode);

问题是这个词是大写字母,而我希望它区分大小写。 例如,如果我输入 abcef,我的累积单词就会变成 'ABCEF'。

注意 - 我需要一个纯 javascript 解决方案(没有库..) 有什么想法吗?

【问题讨论】:

65 是大写“A”的代码,而不是小写。 String.fromCharCode(key.keyCode).toLowerCase()?? 那么小写 a 的键码是什么?在谷歌中找不到答案... 'keyup' 事件将返回 65,但 'keypress' 事件应该返回 97 小写! @adeneo 是的,你成功了!这就是问题所在,我使用的 keyup 行为与预期不同。您可以将其写为答案,以便我可以接受... 【参考方案1】:

keyupkeydown 之类的事件对于 aA 都将返回 65(如果按住该键,event.shiftKey 也将返回 true

keypress 事件为大写和小写字母返回不同的键码,因此要区分大小写,您应该使用 keypress 事件,fromCharCode() 将返回正确的字母,区分大小写。

【讨论】:

您可以随时检查 event.shiftKey 是真还是假并应用 .toLowerCase() 我觉得你需要检查一下,因为有些kepress事件不能像keydowns一样被取消【参考方案2】:

您可以随时拨打.toLowerCase()

word = word + String.fromCharCode(key.keyCode).toLowerCase();

在您决定已完成字符累积时,只调用一次.toLowerCase() 可能更有意义。

【讨论】:

如果有本地解决方案,我建议不要这样做。

以上是关于Javascript String.fromCharCode 区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章

javascript的题。

javascript JavaScript isset()等效: - JavaScript

JavaScript 使用JavaScript更改CSS(JavaScript)

JavaScript之基础-1 JavaScript(概述基础语法)

前端基础-JavaScript的基本概述和语法

JavaScript