1代码

2流程图

3说明

1.isNaN()函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。

2.校验身份证上的号码是否正确,是获得身份证上的年、月、日做为Date的入参,得到一个日期,再比较这两个日期的年、月、日是否相等。

3.当然,这里还校验了出生日期不能是140年以前,因为好像还没有人寿命达到或超过140岁。

4.获得地区(省、市、区/县)在生产系统中,应该是通过基础数据获得。

5.根据身份证取省份、生日、性别信息前对身份证号码的合法性校验,在这里可以不要,因为在前面的逻辑中有校验。但从模块功能来讲,是有必要的。