js 根據身份證獲取出生日期及性別

2021-09-25 20:41:50 字數 2916 閱讀 5325

第一步:身份證號格式校驗

/*

* * 身份證號格式校驗 */

function

idvalidator(obj) ;

var expression=/(^\d$)|(^\d(\d|x)$)/;

var isviald=expression.test(obj.value);

if(isviald)

return

isviald;

}

第二步:通過身份證獲取出生日期及性別

/*

* * 通過身份證獲取出生日期及性別

* @param idcard 15/18位身份證號碼

* @return json物件

* ***:0-女、1-男;

* birthday:yyyy-mm-dd */

function

getbirthdayand***(idcard) ;

var birth = (idcard.length === 18) ? idcard.slice(6, 14) : idcard.slice(6, 12);

//18位:提取第17位數字;15位:提取最後一位數字

var order = (idcard.length == 18) ? idcard.slice(-2,-1):idcard.slice(-1);

info.birthday = (idcard.length === 18) ? ([birth.slice(0, 4),

birth.slice(4, 6), birth.slice(-2)

]).join('-') : ([

'19' + birth.slice(0, 2), birth.slice(2, 4),

birth.slice(-2)

]).join('-');

//餘數為0代表女性,不為0代表男性

info.*** = (order % 2 === 0 ? 0 : 1);

return

info;

}

第三步:改變出生日期及性別的值及唯讀狀態

/*

* * 改變出生日期及性別的值及唯讀狀態 */

function

changecardinfo(obj)

else

} else

}

html

<

table

border

="0"

cellpadding

="1"

cellspacing

="0"

align

="center"

>

<

tbody

>

<

tr>

<

td>身份證號

td>

<

td>

<

input

name

="card_id"

class

="textbox"

type

="text"

datatype

="idcard"

id="card_id"

errmessage

="請輸入正確的身份證號!"

onblur

="changecardinfo(this);"

/>

td>

<

td>性別

td>

<

td>

<

label

>

<

input

name

="***1"

type

="radio"

checked id

="male"

onchange

="$('#***').val('男');"

/>

label

>

<

label

>

<

input

name

="***1"

type

="radio"

id="female"

onchange

="$('#***').val('女');"

/>

label

>

<

input

name

="***"

type

="hidden"

id="***"

value

="男"

/>

td>

<

td>出生日期

td>

<

td>

<

input

class

="textbox"

readonly id

="birth_day2"

type

="text"

onclick

="wdatepicker();"

onblur

="$('#birth_day').val(this.value)"

/>

<

input

name

="birth_day"

id="birth_day"

type

="hidden"

/>

td>

tr>

tbody

>

table

>

獲取身份證中的出生日期

1.18位 6位位址碼 8位出生年月日 19900101代表1990年1月1日出生 3位順序碼 1位校驗碼 2.第 一 二位表示省 自治區 直轄市 特別行政區 第三 四位表示市 地級市 自治州 盟及國家直轄市所屬市轄區和縣的彙總碼 其中,01 20,51 70表示省直轄市 21 50表示地區 自治州...

JS中根據身份證號獲取年齡 出生日期

獲取年齡 function getage 身份證號 if len 15 15位身份證號 時間字串裡,必須是 隔開 var birthdate new date strbirthday var nowdatetime new date var age nowdatetime.getfullyear b...

根據身份證號生成出生日期

修改者 lics 說明 根據身份證號生成出生日期 package nc.ui.ps.pub import nc.vo.pub.busines ception import nc.vo.pub.lang.ufdate import nc.vo.uap.busibean.exception.busibe...