Using Arabic characters with ctype_alnum

后端 未结 2 1728
一向
一向 2021-01-22 01:20

I need to allow Arabic usernames on my website which is already using ctype_alnum to validate the username field. When I try to use Arabic usernames,

相关标签:
2条回答
  • 2021-01-22 01:34

    ctype_alnum only recognizes 0-9A-Za-z.

    You can either use regular expressions (as crothhass posted while I was writing this), or you can attempt to convert Arabic into Latin alphabet, check this with ctype_alnum, then convert it back again.

    But what I actually recommend is to look at the problem from the other direction, and just check for characters that you DON'T want. This is probably spaces and some punctuation, since you are likely using UTF-8 anyway and can accept anything else.

    0 讨论(0)
  • 2021-01-22 01:44

    You can find all Arabic Characters by using this Regex:

    preg_match("/^[a-zA-Z\p{Cyrillic}0-9\s\-]+$/u", $string);
    

    If the matched length equals the username length it is an arabic username.

    0 讨论(0)
提交回复
热议问题