首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤intbox中粘贴的值?

如何过滤intbox中粘贴的值?
EN

Stack Overflow用户
提问于 2018-01-05 13:00:04
回答 1查看 74关注 0票数 0

我有一个音箱,它在粘贴时接受任何文本值。我不想在这个intbox中禁用control+c值,所以如何使它粘贴到regect char值中?

一些代码:

代码语言:javascript
复制
<intbox mold="rounded" id="intbxNumeroDaConta" width="90px" />

一些图片:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-08 02:21:43

如果粘贴非数字文本,则在模糊焦点时将看到验证错误框。这将提示用户修复他们的值。

下面的解决方案适用于chrome、firefox、IE 11或更高版本

代码语言:javascript
复制
<zk xmlns:h="client/attribute">
avoid pasting non-number characters
    <intbox h:onPaste="preventPastingNonDigital(event)" />
<script><![CDATA[
function preventPastingNonDigital(e){
    var pastedText = e.clipboardData ? e.clipboardData.getData('text') //chrome, firefox
     : window.clipboardData.getData('text'); //ie11

    if (!new RegExp('^[0-9]+$').test(pastedText)){
        e.preventDefault();
    }
}
]]></script>
</zk>

参考文献:https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/getData

对于旧的IE,他们不支持onPaste,所以请参考JavaScript get clipboard data on paste event (Cross browser)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48114176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档