字母数字用户名及其错误消息

时间:2011-10-12 作者:Andrew

我面临的问题是,我在任何地方都没有看到正确的答案。我需要的帮助是:

如何防止我的用户注册非字母数字用户名?确切地说,我可以通过以下方法来预防:

function validate_alphanumeric_underscore($string?) { return preg_match(\'/^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/\',$str); }
但我应该/可以使用的字符串是什么?如何回显错误消息,说明输入的用户名包含无效字符?

干杯

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

检查字母数字

有关更多详细信息,请查看 Q开启SO.

$name = \'input string 123";
// Doesn\'t allow:
// Pre-/Appending white space
// Not more than one space in between
// Non-alphanumeric characters (lower case)
if( ! preg_match( "/^[a-z0-9]+([\\\\s]{1}[a-z0-9]|[a-z0-9])+$/i", $name ) )
{
    // Output Error Message
}
// Or: Does only allow
// Alphanumeric character (lower & upper case)
// Dash & underline "-", "_" - makes (imho) sense
if( ! preg_match( "/^[A-Za-z0-9-_",\'\\s]+$/", $name ) )
{
    // Output Error Message
}
错误消息您需要通过Ajax执行此操作。最好是look over the search results. 另一个(也许)好的参考是检查一些ajax登录插件的代码,以了解“操作方法”。

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。