我需要在我的網站上允許使用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. Itextsharp和阿拉伯字符?
- 4. 阿拉伯字符問題
- 5. 創建阿拉伯字符
- 6. 阿拉伯字符運行
- 7. 與阿拉伯字符
- 8. 在阿拉伯字符文件名(阿拉伯字符)下載圖像
- 9. 在android中使用阿拉伯文字
- 10. 用weka顯示阿拉伯字符
- 11. 在unicode中處理阿拉伯字符
- 12. 阿拉伯字符串逆轉在xcode
- 13. PDO數據庫阿拉伯字符
- 14. PHP 5.4 - mySQL阿拉伯字符
- 15. 從Base64到HTML的阿拉伯字符
- 16. 的preg_match不檢測阿拉伯字符
- 17. Php刪除Unicode阿拉伯字符
- 18. fgetcsv()不讀取阿拉伯字符
- 19. 對阿拉伯字符的驗證
- 20. 阿拉伯字符base64編碼問題
- 21. 顯示阿拉伯文字符串
- 22. json是否支持阿拉伯字符?
- 23. Oracle 11g堅持阿拉伯字符
- 24. JSON解碼中的阿拉伯字符
- 25. 阿拉伯語字符的CentOS
- 26. 顯示和存儲阿拉伯字符
- 27. Tesseract不識別阿拉伯字符
- 28. TestNG無法打印阿拉伯字符
- 29. 由ajax發送阿拉伯字符 - java
- 30. 從NSMutableArray獲取阿拉伯字符串
ctype_alnum只能識別0-9A-Za-z,所以你需要使用正則表達式。 – Alasdair
那麼,沒辦法,我可以用ctype_alnum與阿拉伯語? – wfareed
不,它不是一個阿爾諾。除非您將阿拉伯語轉換爲拉丁字母的等效字符,否則請選中此字樣,然後再將其轉換回來。 – Alasdair