이제 아래 그림과 같이 요구 사항이 있습니다.
제품 관리자는 카드 번호가 번호 만 입력 할 수 있다고 말했다 (중간의 공간은 형식별로 추가되며 JS에 의해 구현된다). 때때로 내 마음에 소리가 나타납니다. 무슨 일이야? 나는 단지 유형 = 숫자를 추가합니다. 사실, 나는 그림이 고장났다는 것을 알았습니다. 유형 = 숫자 후 상단 및 하부 마크가 있다고 말하지는 않지만 (CSS로 죽일 수는 있지만)이 유형은 과학적 입력 방법을 지원하고 소수점과 입력 할 수있는 E를 지원하므로 다른 방법 만 사용할 수 있습니다. 나중에, 나는 수색을 사용하여 숫자가 아닌 경우 검색을 죽이고 싶었지만 여전히 입력 할 수 있으며 아이디어는 다시 호출됩니다. 그래서 마침내 키보드 입력 제어 방법을 채택했습니다. 실제로 매우 간단합니다. 코드는 다음과 같습니다.
var isnumber = function (keycode) {// 숫자 if (keycode> = 48 && keycode <= 57) {return true; } // 작은 숫자 키보드 if (keycode> = 96 && keycode <= 105) {return true; } // 탭 백 스페이스, 델, 왼쪽 및 오른쪽 화살표 키 if (keycode == 9 || 키 코드 == 8 || 키 코드 == 32 || 키 코드 == 46 || 키 코드 == 37 || 키 코드 == 39) {return true; } return false}소위 키보드 입력 컨트롤은 키보드의 키 코드 입력을 기반으로 입력 유형, 즉 키보드 키의 유니 코드 값을 얻는 것입니다. 키보드의 각 키에 해당하는 키 코드가 고정되어 있습니다. 인터넷에는 비교 테이블이 많이 있으므로 여기에 게시하지 않습니다. 키 프레스가있을 때마다 해당 키 코드를 모니터링 한 다음 합법적인지 비교합니다. 여기의 법적은 숫자뿐만 아니라 위, 아래, 왼쪽 및 오른쪽 탭 및 우주 화살표 키라는 점에 유의해야합니다. 사용자 작동 지침을 비활성화 할 수 없습니다. 어때요, 그것은 매우 간단 해 보입니다.