此问题在此处已有答案:
How can I use Unicode-aware regular expressions in JavaScript?(11个回答)
16天前关闭
const isFullnameValid = computed<boolean>(() => {
const fullnameRegex: RegExp = /^[A-Za-z ]+$/;
return formData.value.fullname.length > 0 &&
fullnameRegex.test(formData.value.fullname);
});
字符串
我的Regex现在识别var是否包含任何符号或数字,它工作正常,但它只读取拉丁字母表,我不想只读取拉丁字母表,例如,当我输入GIORGI SHALAMBERIDZE时,regex为true,但当我写
2条答案
按热度按时间jvlzgdj91#
您可以使用Unicode属性
\p{L}
来匹配任何字母。本例中的正则表达式为
/^[ \p{L}]+$/u
。请注意,您需要使用u
标志,以便regex引擎理解Unicode属性。演示here。
此外,要匹配任何类型的空格和标点符号,可以使用
^[\p{Z}\p{P}\p{L}]+$
最后,为了匹配一个臭名昭著的CEO的孩子的名字,你需要数字的属性:
^[\p{Z}\p{P}\p{L}\p{N}]+$
的2cmtqfgy2#
我终于为自己找到了答案。要接受所有语言字母表,您可以使用/^[\p{L}\s]+$/u;