身份證號碼是我們在日常生活中常常需要驗證的一種信息。通過jquery編寫身份證驗證代碼,可以方便地在網頁中驗證身份證號碼的有效性。
下面是一份示例代碼:
$(document).ready(function () { // 定義一個身份證號碼校驗函數 function validateIdCard(idcard) { var idcardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; // 執行校驗 if (idcardReg.test(idcard)) { // 如果是18位身份證,則需要校驗最后一位校驗碼 if (idcard.length == 18) { var codeArr = [ '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' ]; var factorArr = [ '7', '9', '10', '5', '8', '4', '2', '1', '6', '3', '7', '9', '10', '5', '8', '4', '2' ]; var code = idcard.substring(17); var sum = 0; for (var i = 0; i < 17; i++) { sum += idcard[i] * factorArr[i]; } var idx = sum % 11; return code == codeArr[idx]; } else { return true; } } else { return false; } } // 在輸入框失去焦點時執行校驗 $("#input-idcard").blur(function () { var idcard = $(this).val(); // 調用校驗函數進行校驗,并給出提示 if (validateIdCard(idcard)) { $("#idcard-tip").text("身份證號碼格式正確"); } else { $("#idcard-tip").text("身份證號碼格式錯誤"); } }); });
以上代碼中,我們定義了一個validateIdCard()函數,用于校驗身份證號碼的格式和校驗碼。在頁面加載完成后,我們給“身份證號碼”輸入框添加了失去焦點事件監聽器,在輸入框失去焦點時調用validateIdCard()函數進行校驗,并根據校驗結果給出相應的提示。