校验规则: 共18位,最后一位可为X(大小写均可) 不能以0开头 出生年月日会进行校验:年份只能为18/19/2*开头,月份只能为01-12,日只能为01-31
function isIDCard(str){ return /^[1-9][0-9]{5}(18|19|(2[0-9]))[0-9]{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)[0-9]{3}[0-9Xx]$/.test(str); }