Aqui les traigo otro tip de cómo podemos restringir el ingreso de caracteres de texto en un campo de tipo númerico en Oracle APEX en respuesta a una consulta realizada en el curso «Aprende a Crear una Aplicación Web con Oracle APEX«. 
Suponiendo que tenemos un ITEM de tipo página que es un «Number Field» queremos que el usuario pueda ingresar solo números y que no se le permita ingresar por teclado caracteres de tipo texto. 
Para ello en el sector de Javascript de nuestra página, en el recuadro: Function and Global Variable Declaration ingresamos la siguiente función javascript: 

function isNumber(event) {
    if (event) {
        var charCode = (event.which) ? event.which : event.keyCode;
        if (event.altKey // alt
            || event.ctrlKey // crtl
            || event.shiftKey // shift
            || event.which === 0 // special chars
            || !((charCode >= 48 && charCode <= 57) // numbers
                || (charCode >= 96 && charCode <= 105) // numblocks
                || (charCode >= 37 && charCode <= 40) // cursors
                || charCode === 8 // backspace
                || charCode === 46)) { // delete
            return false;
        }
    }
    return true;
};

 Y luego para llamar a la función colocamos la siguiente línea en la sección: HTML Form Element Attributes: onkeydown=»return isNumber(event);» onkeyup=»return isNumber(event);»

De esta forma el usuario no puede ingresar caracteres desde el teclado.

Esta solución corresponde al siguiente thread en el foro de la comunidad de Oracle: Thread 3547621