色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 驗證身份證

沈明麗1年前7瀏覽0評論

JavaScript 驗證身份證

身份證是一個人身份的重要證明,其格式由18位數(shù)字加一個字母或數(shù)字組成,其中最后一位可能為 X 或 x。身份證號碼不僅能夠反映人的出生日期、性別、籍貫、居住地等信息,還可以作為重要的證件進行驗證身份。而為了確保輸入的身份證號碼正確有效,我們可以使用 JavaScript 編寫校驗代碼。

身份證號碼的校驗規(guī)則如下:

1. 身份證號碼長度為18位;
2. 前17位都是數(shù)字,最后一位可能為 X 或 x;
3. 出生日期必須為合法日期;
4. 身份證校驗碼(最后一位)必須符合國家標準 GB 11643-1999。

以下是一個簡單的 JavaScript 代碼示例,實現(xiàn)身份證號碼的合法性判斷:

function checkIDCard(id) {
var idcard = String(id).toUpperCase();
if(!(/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(idcard))) return false;
var province = idcard.substr(0,2);
var year = idcard.substr(6,4);
var month = idcard.substr(10,2);
var day = idcard.substr(12,2);
var date = new Date(year+"/"+month+"/"+day);
if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day) return false;
var weight = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
var codes = "10X98765432";
var sum = 0;
for(var i=0;i<17;i++){
sum+=parseInt(idcard[i])*weight[i];
}
if(codes[sum%11]!=idcard[17]) return false;
return true;
}

該函數(shù)首先會將傳入的身份證號碼轉(zhuǎn)化為大寫字符串,然后使用正則表達式判斷該字符串是否符合身份證號碼的基本格式。如果未通過基本格式驗證,則直接返回 false,表示該身份證號碼不合法。

如果身份證號碼符合基本格式要求,則繼續(xù)進行進一步的校驗。該函數(shù)會從身份證號碼中截取出省份、出生年月日等信息,并根據(jù)這些信息判斷出生日期是否合法。如果出生日期不合法,則返回 false,表示該身份證號碼不合法。

接下來,該函數(shù)會使用國家標準規(guī)定的加權求和算法計算身份證校驗碼。如果計算的結果與身份證號碼中的校驗碼不一樣,則返回 false,表示該身份證號碼不合法。

最后,如果身份證號碼通過了以上所有的校驗,則該函數(shù)會返回 true,表示該身份證號碼是合法的。

在實際應用中,我們可以將該函數(shù)與 HTML 表單的提交事件進行綁定,從而在用戶提交表單時即時進行身份證號碼的合法性校驗。