code: function isIDNumber(cardid) {
  	//身份证正则表达式(18位) 
  	var isIdCard2 = /^[1-9]\d{5}(19\d{2}|[2-9]\d{3})((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])(\d{4}|\d{3}X)$/i;
  	var stard = "10X98765432"; //最后一位身份证的号码
  	var first = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //1-17系数
  	var sum = 0;
  	if (!isIdCard2.test(cardid)) return false;
  
  	var year = cardid.substr(6, 4),
  		month = cardid.substr(10, 2),
  		day = cardid.substr(12, 2);
  	var birthday = cardid.substr(6, 8);
  	if (birthday !== Calendar.formatTime(new Date(year, month, day), 'YYYYMMDD')) //校验日期是否合法
  		return false;
  
  	for (let i = 0; i < 17; i++) {
  		sum += cardid[i] * first[i];
  	}
  	var result = sum % 11;
  	var last = stard[result]; //计算出来的最后一位身份证号码
  
  	return String.last(cardid).toUpperCase() === last.toUpperCase();
  }
docs: /*
  身份证号验证
  代码来源：http://www.cnblogs.com/xiaoafei1991/p/4309328.html
  有修改