[ID]【臺灣ID驗證系列】居留證驗證號

參考網址:辛西亞的技能樹

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 許可協議。 轉載請標明作者、連結與出處!

 

本篇發表於 程式設計。將永久鏈結加入書籤。