最後の数字の正しさは、ID番号に基づいて計算されます。それが正しくない場合、正しい結果が与えられます。プログラムを破ることは非常に興味深いです。
< xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" content = "text/html; charse {var arr = id.split( '')、sum = 0、vc = [7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2]; for(var i = 0; i <17; i ++)sum+= vc [i] * parseint(arr [i]); return ['1'、 '0'、 'x'、 '9'、 '8'、 '7'、 '6'、 '5'、 '4'、 '3'、 '2'] [sum%11]; } function validId(id){if(/^/d {18 }$/.test(Id)){var c = id.charat(17)、rc = getIdchar18(id); if(c == rc)showrst( '入力した18桁のID番号は正しい!<br>誕生日:' + id.substr(6、8) + '<br> gender:' + ['fame'、 'male'] [parseint(16))%]); else showrst( '入力した18桁のID番号は間違っています。18桁の検証コードは「 + rc +'! 'でなければなりません); } else showrst( 'ID番号に18桁のID番号を入力してください!'); } function showrst( 'msg){document.getElementById(' rst ')。innerhtml = msg} </script> <input type = "text" onblur = "valid(this.value)"/> <div id = "rst"> </div> </body> </html>