我需要在我的网站上允许使用ctype_alnum
的阿拉伯用户名来验证username
字段。当我尝试使用阿拉伯用户名时,返回验证错误消息。 ctype_alnum
不能将阿拉伯字符识别为字母和数字。我该如何解决这个问题?在ctype_alnum上使用阿拉伯字符
2
A
回答
2
您可以使用这个表达式查找所有的阿拉伯字符:
preg_match("/^[a-zA-Z\p{Cyrillic}0-9\s\-]+$/u", $string);
如果匹配的长度等于用户名长度它是一个阿拉伯语的用户名。
0
ctype_alnum只识别0-9A-Za-z。
您可以使用正则表达式(正如我在写这篇文章时发布的crothhass),或者您可以尝试将阿拉伯语转换为拉丁字母,请使用ctype_alnum检查此语句,然后再将其转换回来。
但我真正推荐的是从另一个方向看问题,只检查你不想要的字符。这可能是空格和一些标点符号,因为无论如何您都可能使用UTF-8并且可以接受其他任何内容。
相关问题
- 1. 阿拉伯字符编码
- 2. 阿拉伯字符运行
- 3. 与阿拉伯字符
- 4. Itextsharp和阿拉伯字符?
- 5. 阿拉伯字符问题
- 6. 与阿拉伯字符
- 7. 用weka显示阿拉伯字符
- 8. 在unicode中处理阿拉伯字符
- 9. 阿拉伯字符base64编码问题
- 10. 阿拉伯字符不被识别
- 11. 的preg_match不检测阿拉伯字符
- 12. json是否支持阿拉伯字符?
- 13. 显示和存储阿拉伯字符
- 14. TestNG无法打印阿拉伯字符
- 15. JSON解码中的阿拉伯字符
- 16. URL中的阿拉伯字符
- 17. 对阿拉伯字符的验证
- 18. 如何在android中使用unicodes显示阿拉伯字符?
- 19. 用阿拉伯语
- 20. 使用阿拉伯字符的网络字体
- 21. 的阿拉伯字母
- 22. 显示阿拉伯文字
- 23. 阿拉伯字体中断
- 24. 对阿拉伯语字数
- 25. 显示阿拉伯数字
- 26. Pdflib6阿拉伯文连字
- 27. 如何在windowsmessages上发送俄罗斯和阿拉伯字符?
- 28. 在ReportLab中使用阿拉伯语(RTL)
- 29. 如何在PHP上使用substr_count来计算阿拉伯语子字符串
- 30. emailtodb PHP类不能使用阿拉伯字符
ctype_alnum只能识别0-9A-Za-z,所以你需要使用正则表达式。 – Alasdair
那么,没办法,我可以用ctype_alnum与阿拉伯语? – wfareed
不,它不是一个阿尔诺。除非您将阿拉伯语转换为拉丁字母的等效字符,否则请选中此字样,然后再将其转换回来。 – Alasdair