wupengfei
4 天以前 16593e60e5fc2dedddf838536046e7a6946a2b8c
src/utils/common/common.ts
@@ -106,3 +106,27 @@
export function filterNumbersFromString(str: string) {
  return str.replace(/\D/g, '');
}
export function calculateAge(idCardNumber) {
  if (BoleRegExp.RegIDCard.test(idCardNumber)) {
    const birthDateStr = idCardNumber.match(/(\d{6})(\d{8})/)[2];
    const birthDate = new Date(
      birthDateStr.substring(0, 4),
      birthDateStr.substring(4, 6) - 1,
      birthDateStr.substring(6, 8)
    );
    // Calculate age
    const today = new Date();
    const age =
      today.getFullYear() -
      birthDate.getFullYear() -
      (today.getMonth() < birthDate.getMonth() ||
      (today.getMonth() === birthDate.getMonth() && today.getDate() < birthDate.getDate())
        ? 1
        : 0);
    return age;
  }
  return null;
}