我正在尝试仅为字符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();
        }
    }

最佳答案

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

您也可以使用regex [^.%']。它匹配除.%'以外的任何字符

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

10-12 13:21