我希望我的用户只能写希腊字符,名字和姓氏之间只有一个空格。如何更改此php代码来执行此操作?
!preg_match("/^[A-Za-z0-9_!@$]{1,50}$/", $newusername)
最佳答案
您需要使用the /u
modifier使表达式unicode敏感,我更喜欢在指定这些类型时使用十六进制代码–很难区分alpha(_)和ay(a)。
According to Wikipedia,Unicode块“希腊语和科普特语”使用从0x370到0x3ff的代码:
function checkGreek($newusername) {
if (preg_match("/^[\x{370}-\x{3FF} ]{1,50}$/u", $newusername)) {
echo "It's Greek to me";
} else {
echo "Non-Greek in there";
}
}
checkGreek("ΑΒ ΓΔ");
checkGreek("ΑΒ ΓΔ 123");
checkGreek("AB CD");
关于php - PHP:注册> USERNAME,只有希腊字符,只有一个空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42992535/