如何用JS判断身份证格式

准备用正则来判断身份证格式的,但正则比较复杂,不简洁明了。无意中同事介绍我用keyCode,用下来感觉特别舒服


触发input在键盘按键被按下并释放事件,调用js的onlyInputCardNum()方法

input输入框如下:

<input style="ime-mode:disabled;"  onpaste="return false;" name="cardNo"  type="text"  maxlength="18" value="" onkeypress="return onlyInputCardNum();">

js:

        /** 只能输入数字或者X */
        function onlyInputCardNum() {
            if (event.keyCode == 88 || event.keyCode == 120) 
                {
                return true;
            }
            //用户每按下一个键,就去判断是不是一个数 
            if(event.keyCode < 48 || event.keyCode > 57){ 
                return false; 
            } 
        }
字母和数字键的键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
A 65 J 74 S 83 1 49
B 66 K 75 T 84 2 50
C 67 L 76 U 85 3 51
D 68 M 77 V 86 4 52
E 69 N 78 W 87 5 53
F 70 O 79 X 88 6 54
G 71 P 80 Y 89 7 55
H 72 Q 81 Z 90 8 56
I 73 R 82 0 48 9 57

  

 

数字键盘上的键的键码值(keyCode) 功能键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
0 96 8 104 F1 112 F7 118
1 97 9 105 F2 113 F8 119
2 98 * 106 F3 114 F9 120
3 99 + 107 F4 115 F10 121
4 100 Enter 108 F5 116 F11 122
5 101 - 109 F6 117 F12 123
6 102 . 110        
7 103 / 111        

  

 

控制键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
BackSpace 8 Esc 27 Right Arrow 39 -_ 189
Tab 9 Spacebar 32 Dw Arrow 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;: 186 \| 220
Alt 18 Left Arrow 37 =+ 187 ]} 221
Cape Lock 20 Up Arrow 38 ,< 188 '" 222

 

 

多媒体键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
音量加 175            
音量减 174            
停止 179            
静音 173            
浏览器 172            
邮件 180            
搜索 170            
收藏 171  

posted @ 2018-05-09 17:03  诺宝宝  阅读(594)  评论(0编辑  收藏  举报