ขณะนี้มีข้อกำหนดดังแสดงในรูปด้านล่าง:
ผู้จัดการผลิตภัณฑ์กล่าวว่าหมายเลขบัตรสามารถป้อนข้อมูลได้เท่านั้น (ช่องว่างที่อยู่ตรงกลางจะถูกเพิ่มโดยรูปแบบและใช้โดย JS) บางครั้งเสียงปรากฏในใจของฉัน เกิดอะไรขึ้น? ฉันเพิ่งเพิ่ม type = number อันที่จริงฉันพบว่าภาพวาดนั้นแตก ฉันจะไม่บอกว่าจะมีเครื่องหมายบนและล่างหลังจาก type = number (แม้ว่ามันจะถูกฆ่าด้วย CSS) แต่ประเภทนี้รองรับวิธีการป้อนข้อมูลทางวิทยาศาสตร์ซึ่งเป็นจุดทศนิยมและ E ที่สามารถป้อนข้อมูลได้ดังนั้นฉันจึงสามารถใช้วิธีอื่นได้ ต่อมาฉันต้องการใช้การค้นหาเพื่อฆ่ามันถ้าฉันป้อนไม่ใช่จำนวน แต่ฉันยังสามารถป้อนข้อมูลได้และความคิดนั้นถูกเรียกกลับ ดังนั้นในที่สุดฉันก็ใช้วิธีการควบคุมอินพุตแป้นพิมพ์ จริงๆแล้วมันง่ายมากรหัสมีดังนี้:
var isNumber = function (keycode) {// number ถ้า (keycode> = 48 && keycode <= 57) {return true; } // คีย์บอร์ดตัวเลขขนาดเล็กถ้า (keycode> = 96 && keycode <= 105) {return true; } // แท็บ backspace, del, ปุ่มลูกศรซ้ายและขวาถ้า (keycode == 9 || keycode == 8 || keycode == 32 || keycode == 46 || keycode == 37 || keycode == 39) {return true; } return false}การควบคุมอินพุตแป้นพิมพ์ที่เรียกว่าคือการกำหนดประเภทของอินพุตตามอินพุตของปุ่มกดบนแป้นพิมพ์นั่นคือเพื่อให้ได้ค่า Unicode ของคีย์บอร์ดคีย์บอร์ดที่กด ปุ่มกดที่สอดคล้องกับแต่ละคีย์บนคีย์บอร์ดได้รับการแก้ไข มีตารางเปรียบเทียบจำนวนมากบนอินเทอร์เน็ตดังนั้นฉันจะไม่โพสต์ไว้ที่นี่ ทุกครั้งที่คีย์กดตรวจสอบปุ่มที่เกี่ยวข้องแล้วเปรียบเทียบว่าถูกกฎหมายหรือไม่ ควรสังเกตว่าสิ่งที่ถูกกฎหมายที่นี่ไม่เพียง แต่เป็นตัวเลขเท่านั้น แต่ยังรวมถึงแท็บขึ้น, ลง, ซ้ายและขวาและปุ่มลูกศรอวกาศ คำแนะนำการทำงานของผู้ใช้ไม่สามารถปิดใช้งานได้ มันดูง่ายมาก