我在注册模型中编写了
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();
你可以使用
/^[\p{sc=Bengali}\s]+$/u;
详情:
^
- 字符串的开头[\p{sc=Bengali}\s]+
- 出现一次或多次
\p{sc=Bengali}
- 孟加拉语字符\s
- 空白字符$
- 字符串结尾u
- 允许使用 Unicode 属性类(如 \p{...}
)的标志。请参阅 正则表达式演示。
但是 ^[\p{sc=Bengali}\s]+$ 在谷歌表单验证中不起作用。请帮忙。谢谢大家提前。