參考網址:辛西亞的技能樹
function verifyId(id) { id = id.trim(); <!-- 在 js 中遇到反斜線要跳脫,所以這邊用兩個反斜線 --> <!-- 如果你看到四個反斜線,那是我為了讓 NexT.Mist 主題順利渲染所再做跳脫 --> verification = id.match("^[A-Z][ABCD]\\d{8}$") if(!verification){ return false } let conver = "ABCDEFGHJKLMNPQRSTUVXYWZIO" let weights = [1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1] id = String(conver.indexOf(id[0]) + 10) + String((conver.indexOf(id[1]) + 10)%10) + id.slice(2); checkSum = 0 for (let i = 0; i < id.length; i++) { c = parseInt(id[i]) w = weights[i] checkSum += c * w } return checkSum % 10 == 0 } console.log(verifyId("FA12345689")); ========================================= 本文作者:辛西亞.Cynthia 本文連結:https://cynthiachuang.github.io/Check-Resident-Certificate-Number/ 版權聲明:除非另有標注,部落格中所有文章,均採用 CC BY-NC-SA 4.0 許可協議。 轉載請標明作者、連結與出處!