回答
沒有內置過濾器。
你可能要考慮learning regular expressions,它們不是那不好。
$valid = (strlen($username) <= 30 && preg_match("#^[a-z0-9A-Z]+$#", $username));
考慮使用正則表達式中的量詞而不是使用'strlen()'。 – FtDRbwLXw6 2012-01-10 02:09:02
這有一些具體的事情沒有過濾器,但這個工程並有一個簡單的正則表達式:
function isValidUsername($username) {
return (strlen($username) <= 30) && (preg_match("/^[a-z0-9]+$/i", $username) == 1);
}
這裏是應該這樣做的功能。我建議花一些時間學習正則表達式的工作方式。它們是程序員工具箱中最強大(也是最有用)的工具之一。
更新:運用註釋分隔符的建議之上,並略微簡化我的功能:
更新2:添加了/ d模式修改,以確保$防止對\ n匹配。
function isValidUsername($name)
{
return preg_match("/^[a-zA-Z0-9]{1,30}$/D", $name);
}
PHP沒有內置任何內容來滿足這些要求。下面是你需要的正則表達式,但:
$valid = (bool)preg_match('/^[a-zA-Z0-9]{1,30}$/', $username);
我知道你沒有要求設計批評,但請你想一想,如果硬盤的用戶名是真正的必需品。如果沒有,請考慮使用電子郵件地址,因爲它們更方便用戶,而且無論如何您都可能會向用戶詢問該信息。
所以我會說... if($ _POST ['username'] == $ valid){echo「the username is valid」..。 ..。 。然後它會變成$用戶名? – Depetrify 2012-01-10 01:50:29
@Depetrify:不,如果你想檢查的用戶名是在$ _POST ['username']'中,你可以在上面的代碼中使用它而不是'$ username'。那麼'$ valid'可以是'TRUE'或'FALSE',你可以從那裏開始。 – FtDRbwLXw6 2012-01-10 02:06:30
- 1. 尋找一個特定的PHP框架
- 2. 尋找一個JQ過濾器基於一個嵌套屬性
- 3. 尋找一個過濾器來修改月
- 4. 我正在尋找重寫一個特定的URl與PHP
- 5. 尋求一個PHP腳本來過濾一個RSS源
- 6. 尋找一種方法來查找,幷包括一個特定的選擇器
- 7. 尋找一個Javascript,PHP IDE
- 8. 尋找特定代碼的某個
- 9. 尋找特殊字符php
- 10. Servlet過濾器 - 不要將過濾器應用於特定的過濾器
- 11. PHP過濾器通過特定的按鍵
- 12. 過濾對象列表,尋找單一肯定結果
- 13. PHP:過濾特定列的mysql_query結果?
- 14. 查詢和通過施加一個特定的濾波器
- 15. 尋找一個PHP的str_split()的替代
- 16. 尋找具有一些特定功能的wysiwyg編輯器
- 17. 尋找一個特定屬性的兒童的價值
- 18. 我正在尋找一個特定類型的jQuery的滑塊
- 19. Java 8流過濾器來過濾文件的特定部分
- 20. 尋找一個特定的jquery旋轉木馬
- 21. 尋找一個與「ram tables」有關的特定術語
- 22. 需要幫助尋找一個特定的Magento Javascript文件
- 23. 尋找一個特定的Common Lisp實現
- 24. 尋找一個特定的FireFox擴展/表格發佈計劃
- 25. C#遍歷類成員來尋找一個特定的條件
- 26. 尋找一個magento方法的定義,特別是getOptionList()
- 27. 尋找一個特定的可可日誌框架
- 28. 過濾另一個過濾器對象
- 29. 尋找與SQL「IN」子句相同的SSRS過濾器
- 30. 尋找一個新的輕量級PHP編輯器的窗口
http://stackoverflow.com/questions/1330693/validate-username-as-alphanumeric-with-underscores – NoName13 2012-01-10 01:25:08
不幸的是,正則表達式是您描述的工作的最佳工具...像http://www.regexbuddy.com /是瞭解它們的好工具!我將用'/^[a-z0-9] {1,30} $/i'作爲最好的正則表達式! – cmbuckley 2012-01-10 01:26:02
LOL ...所有的答案都是完全一樣的想法! – 2012-01-10 01:27:30