我希望我的用户只能写希腊字符,名字和姓氏之间只有一个空格。如何更改此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/

10-09 05:08