简单的身份证验证(JS),只验证位数合法性(15位,18位,及最后的X) 不验证生日及最后4位以及前缀合法性 <mce:script type="text/javascript"><!-- //自定义的身份证验证函数 function checkID(f) { // 身份证验证 18 位数字 // 1. 18位 if(f.length != 18) { alert("请输入中国公民的18位身份证号码, 您当前输入了" + f.length + "位号码" ); f.ID.focus(); return false; } // 2. 确保前17位每一位都是数字 for(i = 0; i < f.length - 1; i++) { // 如何判断一个字母是数字 if(isNaN( parseInt( f.charAt(i) ) )) { alert("您输入的身份证号码前17位包含有字母, 不合要求" ); f.ID.focus(); return false; } } // 3. 确保最后一位是数字或者X var lastIDNum = f.charAt(17); if( isNaN(parseInt( f.charAt(i) )) && lastIDNum.toLowerCase() != 'x') { alert("您输入的身份证号码最后一位不是数字也不是x, 不合要求" ); f.ID.focus(); return false; } return true; } // --></mce:script> <input type="text" οnblur="checkID(this.value)">