是的,使用正则表达式使用 formik 进行表单验证,在孟加拉字体输入字段中无法按预期工作

问题描述 投票:0回答:2

我在注册模型中编写了

regex
代码,但是当我使用孟加拉字体在formik表单字段中输入时,正则表达式表达无法验证
bangla unicode
值。

import * as Yup from "yup";
const banglaLang = /^([A-Za-z]|\p{InBengali})$/i;
class RegisterModel {
  /**
   * Model properties
   */
  constructor() {
    this.employeeNameBn = "";
  }

  /**
   * Validator schema
   */
  validator() {
    return Yup.object().shape({
      employeeNameBn: Yup.string()
        .required("user full name (in Bangla) is a required field")
        .matches(banglaLang, "Please type in bangla"),
    });
  }
}

export const Register = new RegisterModel();

reactjs regex validation formik yup
2个回答
0
投票

你可以使用

/^[\p{sc=Bengali}\s]+$/u;

详情

  • ^
    - 字符串的开头
  • [\p{sc=Bengali}\s]+
    - 出现一次或多次
    • \p{sc=Bengali}
      - 孟加拉语字符
    • \s
      - 空白字符
  • $
    - 字符串结尾
  • u
    - 允许使用 Unicode 属性类(如
    \p{...}
    )的标志。

请参阅 正则表达式演示


-1
投票

但是 ^[\p{sc=Bengali}\s]+$ 在谷歌表单验证中不起作用。请帮忙。谢谢大家提前。

© www.soinside.com 2019 - 2024. All rights reserved.