首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我们使用java脚本只允许文本框中的数字时,允许选项卡键

当我们使用java脚本只允许文本框中的数字时,允许选项卡键
EN

Stack Overflow用户
提问于 2014-02-05 11:17:01
回答 1查看 3.6K关注 0票数 1

我写了一个只允许数字、逗号、点的java脚本。我把它应用在四个文本框上。我的问题是,我有10个文本框,它们接受不同类型的数据,其中四个是我应用了java脚本的。我可以在其他文本框上使用选项卡键,但是我不能在java脚本应用文本框上使用它来移动搜索器。我的剧本有什么改变吗.谢谢。

Java脚本:-

代码语言:javascript
复制
function isNumberCommaDot(evt) {
         var theEvent = evt || window.event;
         var key = theEvent.keyCode || theEvent.which;
         key = String.fromCharCode(key);
         if (key.length == 0) return;
         var regex = /^[0-9,\9\b]*\.?[0-9]*$/;
         if (!regex.test(key)) {
             theEvent.returnValue = false;
             if (theEvent.preventDefault) theEvent.preventDefault();
         }
     }

我在regex中使用了\9,但仍然不接受选项卡键。(9是ASCII字符。(为TAB密钥)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-05 11:27:21

您可以先检查它是否是制表符,然后跳过处理。

代码语言:javascript
复制
function isNumberCommaDot(evt) {
     var theEvent = evt || window.event;
     var key = theEvent.keyCode || theEvent.which;

     if (key === 9 ) { //TAB was pressed
        return;
     }

     key = String.fromCharCode(key);
     if (key.length == 0) return;
     var regex = /^[0-9,\9\b]*\.?[0-9]*$/;
     if (!regex.test(key)) {
         theEvent.returnValue = false;
         if (theEvent.preventDefault) theEvent.preventDefault();
     }
 }

你可以找到更多的信息,here

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

https://stackoverflow.com/questions/21575723

复制
相关文章

相似问题

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