Agora há um requisito como mostrado na figura abaixo:
O gerente do produto disse que o número do cartão só pode inserir números (os espaços no meio são adicionados pelo formato e também são implementados pelo JS). Às vezes, um som aparece em minha mente. Qual é o problema? Acabei de adicionar tipo = número. Na verdade, descobri que o desenho está quebrado. Não vou dizer que haverá uma marca superior e inferior após tipo = número (embora possa ser morto com CSS), mas esse tipo suporta métodos de entrada científicos, que são pontos decimais e E que podem ser inseridos, para que eu possa usar apenas outros métodos. Mais tarde, eu queria usar a pesquisa para matá-la se entrei em um número não-número, mas ainda posso inseri-la, e a ideia é chamada de volta. Por isso, finalmente adotei o método de controle de entrada do teclado. Na verdade, é muito simples, o código é o seguinte:
var isNumber = function (KeyCode) {// Número se (keycode> = 48 && keycode <= 57) {return true; } // pequeno teclado numérico if (keycode> = 96 && keycode <= 105) {return true; } // Backspace da guia, del, teclas de seta esquerda e direita se (keycode == 9 || keycode == 8 || keyCode == 32 || keycode == 46 || keycode == 37 || keycode == 39) {return true; } retornar false}O chamado controle de entrada do teclado é determinar o tipo de entrada com base na entrada do código-chave no teclado, ou seja, para obter o valor Unicode da tecla do teclado pressionada. O código de chave correspondente a cada tecla no teclado é corrigido. Existem muitas tabelas de comparação na internet, então não as publico aqui. Toda vez que as pressões da tecla monitoram o código de chave correspondentes e compare se é legal. Deve -se notar que os legais aqui não são apenas os números, mas também as guias para cima, para baixo, esquerda e direita e teclas de seta espacial. As instruções de operação do usuário não podem ser desativadas. Que tal isso, parece muito simples.