使用带有ctype_alnum的阿拉伯字符

时间:2011-11-16 14:11:51

标签: php arabic

我需要在我的网站上允许使用ctype_alnum的阿拉伯用户名来验证username字段。当我尝试使用阿拉伯语用户名时,将返回验证错误消息。 ctype_alnum不会将阿拉伯字符识别为字母和数字。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式找到所有阿拉伯字符:

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

如果匹配的长度等于用户名长度,则为阿拉伯语用户名。

答案 1 :(得分:0)

ctype_alnum仅识别0-9A-Za-z。

你可以使用正则表达式(在写这篇文章时发布crothhass),或者你可以尝试将阿拉伯语转换成拉丁字母,用ctype_alnum检查,然后再将其转换回来。

但我实际建议的是从另一个方向看问题,只检查你不想要的字符。这可能是空格和一些标点符号,因为你可能无论如何都使用UTF-8并且可以接受任何其他内容。