javascript - 正则表达式仅适用于字符 0-9?

标签 javascript jquery regex

我正在尝试查找/使用仅适用于字符 0-9 的正则表达式。如果可能的话,我还尝试让用户能够使用他们的普通键(退格键、左右箭头、退格键)。

另外,我想停下来。 (句点)、%(百分比)和 '(单引号)。

这是我到目前为止所拥有的,但它并不能阻止上述三个问题:

function onlyNumbers(evt) {
        var theEvent = evt || window.event;
        var key = theEvent.keyCode || theEvent.which;
        key = String.fromCharCode( key );
        var regex = /[0-9]/;
        //alert(theEvent.keyCode)
        if( !regex.test(key) && theEvent.keyCode!='8' && theEvent.keyCode!='46'&& theEvent.keyCode!='37' && theEvent.keyCode!='39') {//keyCode8 = backspace
            theEvent.returnValue = false;
            if(theEvent.preventDefault) theEvent.preventDefault();
        }
    }

最佳答案

您应该使用||而不是&&

您还可以使用正则表达式[^.%']。它匹配除.,%,'之外的任何字符

关于javascript - 正则表达式仅适用于字符 0-9?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13033941/

相关文章:

javascript - jQuery 中带有悬停类的弹出菜单(尝试使用 <ul> 复制选择框)

regex - R正则表达式

用于搜索哈希值中特定字符串的Python程序(编码帮助)

javascript - 在 localStorage 中获取并存储 64mb mp4 文件

javascript - 获取具有定义类型的 JSON 对象长度

php - 每 5 分钟从 mysql 更新一次的 jquery div 容器

javascript - 正则表达式扩展和语言

java - 在android中将图像保存到SD卡

javascript - 在外部单击时关闭选项卡

javascript - 重用页脚 html 代码