Ahora hay un requisito como se muestra a continuación:
El gerente de producto dijo que el número de tarjeta solo puede ingresar números (los espacios en el medio son agregados por el formato y también son implementados por JS). A veces aparece un sonido en mi mente. ¿Qué pasa? Solo agrego type = número. De hecho, descubrí que el dibujo está roto. No diré que habrá una marca superior e inferior después de tipo = número (aunque se puede matar con CSS), pero este tipo admite métodos de entrada científica, que son puntos decimales y E que pueden ser entrada, por lo que solo puedo usar otros métodos. Más tarde, quería usar la búsqueda para matarlo si ingresé un número no número, pero aún puedo ingresarlo, y la idea se llama de nuevo. Así que finalmente adopté el método de control de entrada del teclado. En realidad es muy simple, el código es el siguiente:
var isNumber = function (keycode) {// número if (keycode> = 48 && keycode <= 57) {return true; } // teclado numérico pequeño if (keycode> = 96 && keycode <= 105) {return true; } // Tab Backspace, Del, teclas de flecha izquierda y derecha if (KeyCode == 9 || KeyCode == 8 || KeyCode == 32 || KeyCode == 46 || KeyCode == 37 || KeyCode == 39) {return True; } return false}El llamado control de entrada del teclado es determinar el tipo de entrada basado en la entrada del código de teclado en el teclado, es decir, para obtener el valor unicode de la tecla de teclado presionada. Se fija el código de teclas correspondiente a cada tecla en el teclado. Hay muchas tablas de comparación en Internet, por lo que no las publicaré aquí. Cada vez que la tecla presiona monitorea el código de teclas correspondiente y luego compare si es legal. Cabe señalar que los legales aquí no son solo los números, sino también las pestañas arriba, hacia abajo, izquierda y derecha y las teclas de flecha espacial. Las instrucciones de operación del usuario no se pueden deshabilitar. ¿Qué tal, se ve muy simple?