回答
没有内置过滤器。
你可能要考虑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