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();
CodePudding user response:
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.