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