1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
-
- import { message } from "antd";
-
- export const verifySex = (idCard: string) => {
- // 检查身份证号码长度
- if (idCard.length === 18) {
- // 18位身份证号码
- const lastChar = idCard.charAt(17);
- let genderCode;
- if (lastChar === 'X' || lastChar == "x") {
- genderCode = 10; // 将 'X' 转换为数字 10
- } else {
- genderCode = parseInt(lastChar, 10);
- }
- return genderCode % 2 === 0 ? '女' : '男';
- } else if (idCard.length === 15) {
- // 15位身份证号码
- const genderCode = parseInt(idCard.substring(13, 15), 10);
- return genderCode % 2 === 0 ? '女' : '男';
- } else {
- return '请输入有效的身份证号码';
- }
- }
- export const verifyIdCard = (idCard: string) => {
- let regIdCard =
- /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
- if (regIdCard.test(idCard)) {
- if (idCard.length == 18) {
- let idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10,
- 5, 8, 4, 2);
- let idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2);
- let idCardWiSum = 0;
- for (let i = 0; i < 17; i++) {
- idCardWiSum += idCard.substring(i, i + 1) * idCardWi[i];
- }
- let idCardMod = idCardWiSum % 11;
- let idCardLast = idCard.substring(17);
- if (idCardMod == 2) {
- if (idCardLast == "X" || idCardLast == "x") {
- return true;
- } else {
- message.error('身份证号码错误');
-
- return false;
-
- }
- } else {
- if (idCardLast == idCardY[idCardMod]) {
- return true;
- } else {
- message.error('身份证号码错误');
-
- return false;
-
- }
- }
- } else {
- return true;
- }
- } else {
- message.error('请输入有效的身份证号码');
- return false;
- }
- }
-
- export const verifyPhone = (phone: string) => {
- let reg_phone = /^(\+)?(0|86|17951)?1(3\d|4[579]|5\d|6\d|7\d|8\d|9\d)\d{8}$/;
- if (reg_phone.test(phone)) {
- return true;
- } else {
- message.error('请输入正确的手机号');
- return false;
- }
- }
|