如何确定可打印字符上是否发生按键事件?

发布于 2024-07-13 13:36:52 字数 281 浏览 5 评论 0原文

我们正在尝试阻止用户输入超出数据库允许的 Web 应用程序文本区域字段的最大字符数。 一旦它们达到文本区域允许的最大长度,我们仍然希望允许它们按下非打印键,例如:Tabbackspacectrl+s 等。

我想知道是否有一种简单的方法来检测键码是否是可打印字符。 我认为像 String.fromCharCode 这样的东西可能会成功,如果它无法进行转换,则返回 false,但似乎并非如此。

We are trying to prevent users from typing beyond the maximum characters our DB allows for text area fields in our web app. Once they have reached the max length allowed in the text area we would still like to allow them to hit keys that are non-printing for example: Tab, backspace, ctrl+s, etc.

I'm wondering if there is a simple way to detect if a keycode is a printable character. I thought something like String.fromCharCode might do the trick and return false if it couldn't do the conversion, but doesn't seem to behave that way.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

物价感观 2024-07-20 13:36:52

您可以将文本框的长度设置为数据库允许的最大字符数

W3Schools

You could just set length of the textbox to the max number of characters allowed by the database

W3Schools

雄赳赳气昂昂 2024-07-20 13:36:52

试试这个:http://www.quirksmode.org/dom/maxlength.html

Quirksmode 通过一种简单的方法在文本区域上实现 maxlength 属性,但本机不支持该属性。

并直接回答您的问题:

var character = String.fromCharCode(e.charCode);

其中 ekeypress 事件的事件对象。

Try this: http://www.quirksmode.org/dom/maxlength.html

Quirksmode goes through an easy way to implement the maxlength attribute on textareas, which isn't natively supported.

And to directly answer your question:

var character = String.fromCharCode(e.charCode);

Where e is the event object of the keypress event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文