national code

PHOTO EMBED

Mon Apr 25 2022 12:33:53 GMT+0000 (UTC)

Saved by @nimaSm #yup #regex #validation

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;
      })
content_copyCOPY