用身份證繫結資料

2021-09-23 20:19:10 字數 1678 閱讀 3362

建立

身份證繫結資料的文字框。

**:證件號:" grid.column="0" grid.row="5" />

性別:" grid.column="3"  grid.row="5" />

年齡:" grid.column="0"  grid.row="7" />

出生年月:" grid.column="3"  grid.row="7"/>

效果圖:

建立「證件號」的文字框改變事件「

textchanged="txt_certificatetype_textchanged"

」並轉到定義。

後台自動建立**:

private void txt_certificatetype_textchanged(object sender, system.windows.controls.textchangedeventargs e)

宣告引數:

string stridcard = txt_certificatetype.text.trim();

來接受頁面傳過來的數值。

**:private void txt_certificatetype_textchanged(object sender, system.windows.controls.textchangedeventargs e)

else

//年(利用身份證號提取出生日期)(substring:子字串從指定的字元位置開始且具有指定的長度)

string birth_y = keys.substring(6, 4); //

月(利用身份證號提取出生日期)(substring:子字串從指定的字元位置開始且具有指定的長度)

string birth_m = keys.substring(10, 2); //

日(利用身份證號提取出生日期)(substring:子字串從指定的字元位置開始且具有指定的長度)

string birth_d = keys.substring(12, 2);

listviewitem l = new listviewitem(); //

繫結出生日期(拼接擷取的資料)

dtp_birthday.text= birth_y + "

年" + birth_m + "月" + birth_d + "日"; //

獲取今年年份

string strnow = datetime.now.year.tostring(); //

把今年轉化成數字

decimal decnow = convert.todecimal(strnow); //

獲取(擷取身份證)出生年份

decimal decbirth_y = convert.todecimal(birth_y); //

獲取虛歲(當前日期減去出生日期)

decimal decage = convert.todecimal(decnow - decbirth_y) + 1; //

繫結年齡

身份證正則

身份證正則,不僅要考慮輸入的符合身份證規則,還需考慮最後一位符合驗證需求。身份證15位編碼規則 dddddd yymmdd xx p dddddd 6位地區編碼 yymmdd 出生年 兩位年 月日,如 910215 xx 順序編碼,系統產生,無法確定 p 性別,奇數為男,偶數為女 身份證18位編碼規...

身份證分組

題目描述 18位身份證的編碼規則是 前1 2位數字表示 所在省 直轄市 自治區 的 第3 4位數字表示 所在地級市 自治州 的 第5 6位數字表示 所在區 縣 自治縣 縣級市 的 第7 14位數字表示 出生年 月 日 第15 16位數字表示 所在地的派出所的 第17位數字表示性別 奇數表示男性,偶數...

身份證校驗

int isright string card cout 9 wi sum 11 if p 17 x p 17 x 最後一位為 x 或 x else if id wi p 17 判斷計算出的身份證校驗碼與輸入是否相符 return error 判斷身份證號碼中的年月日是否正確 bool birthd...