我正在尝试仅为字符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/