I write a regex
code in registration model but when i input in formik form field with bangla font, regex express can't validate bangla unicode
value.
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();
You can use
/^[\p{sc=Bengali}\s]+$/u;
Details:
^
- start of string[\p{sc=Bengali}\s]+
- one or more occurrences of
\p{sc=Bengali}
- a Bengali char\s
- a whitespace char$
- end of stringu
- a flag that allows the use of Unicode property classes like \p{...}
.See the regex demo.