@writ/utils
Version:
My tool kit
12 lines (11 loc) • 509 B
JavaScript
;
/**
* 校验是否为中国大陆第二代居民身份证
* 校验规则:1. 共18位,最后一位可为X(大小写均可), 不能以0开头
* 2. 出生年月日会进行校验:年份只能为18 / 19 / 2 * 开头,月份只能为01 - 12,日只能为01 - 31
* @param {string} str
*/
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);
}
module.exports = isIDCard;