national_code: yup .string() .required("لطفا کد ملی خود را وارد کنید") .test("nationalCodeValid", "فرمت کد ملی صحیح نمی باشد", function (value) { if (!/^\d{10}$/.test(value)) return false; const check = +value[9]; const sum = value .split("") .slice(0, 9) .reduce((acc, x, i) => acc + +x * (10 - i), 0) % 11; return sum < 2 ? check === sum : check + sum === 11; })