L'exactitude du dernier chiffre est calculée sur la base du numéro d'identification. S'il est incorrect, le résultat correct sera donné. Il est très intéressant de briser le programme.
<! Doctype html public "- // w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><html xmlns = "http://www.w3.org/1999/xhtml"> <éad> <meta http-equiv = "contenu-type" content = "text / html; charset = utf-8" /> <itle> javascript 18-digit numéro de vérification de la vérification dernier </pitle> {var arr = id.split (''), sum = 0, vc = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; pour (var i = 0; i <17; i ++) sum + = vc [i] * parseInt (arr [i]); retourner ['1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'] [sum% 11]; } fonction valiDID (id) {if (/^/d{18 }$/. if (c == rc) showrst ('le numéro d'identification à 18 chiffres que vous avez entré est correct! <br> anniversaire:' + id.substr (6, 8) + '<br> genre:' + ['feme', 'mâle'] [parseInt (id.charat (16))% 2]); else showrst ('Le numéro d'identification à 18 chiffres que vous avez entré est incorrect, le code de vérification à 18 chiffres devrait être' + rc + '!'); } else showrst ('Veuillez saisir le numéro d'identification à 18 chiffres pour le numéro d'identification!'); } fonction showrst ('msg) {document.getElementByid (' rst '). innerHtml = msg} </ script> <input type = "text" onblur = "valiDID (this.value)" /> <div id = "rst"> </ div> </ body> </ html>