0

文字0〜9のみの正規表現を見つけて利用しようとしています。可能であれば、ユーザーが通常のキー (バックスペース、左右の矢印、バックスペース) を利用できるようにすることも試みています。

また、やめたい。(ピリオド)、% (パーセンテージ)、および ' (一重引用符)。

これは私がこれまでに持っているものですが、上記の3つの問題を止めていません:

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();
        }
    }
4

2 に答える 2

2

||代わりに使用する必要があります&&

正規表現を使用することもできます。それは、、、以外の[^.%']任意の文字に一致します.%'

于 2012-10-23T15:29:20.287 に答える