preg_match PHP 验证用户名
如何使用 php 验证用户名
我的规则是:
用户名只能包含字母、数字和 1 个下划线。
这是我当前的 preg_match
preg_match('/^[a-zA-Z0-9][_]{1}[a-zA-Z0-9]+$/',$_POST['uname'])
How to validate a username using php
My rules are:
Username can only contain letters, numbers and 1 underscore.
This is my current preg_match
preg_match('/^[a-zA-Z0-9][_]{1}[a-zA-Z0-9]+$/',$_POST['uname'])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这应该可以做到:
请记住,单个项目的字符类是多余的。只写原子。
{1}
是另一个严重冗余的量词。与编辑相同
:
基于新的约束和克里斯的有用评论,这似乎是一个更好的正则表达式:
它匹配至少两个字符的用户名,不以可选下划线结尾或开头,并且没有换行符结束。
This should do it:
Keep in mind that a character class of a single item is redundant. Write the atom solely instead. And
{1}
is another seriously redundant quantifier.is just the same as
Edit:
Based on the new constrains and in the helpful comment by chris, this seems to be a better regex:
It matches usernames of at least two character, not ending or beginning with the optional underscore, and no newlines at the end.