根据各种标准使用preg_match验证用户名

时间:2012-12-29 22:39:37

标签: php regex preg-match

所以我继续我的PHP之旅。现在创建注册表单并验证用户请求的用户名。这就是我到目前为止所做的:

if (preg_match("([a-z 0-9](?=.{3})(?!.{10}))", $user_Name))

我使用" RegExr"创造这场比赛然而它似乎并没有起作用。添加了一个大写字母,它仍然表示它是有效的

正在寻找:

  • 数字0 - 9
  • 没有大写字母
  • 根本没有特殊符号
  • 最少6个字符
  • 最多10个字符

2 个答案:

答案 0 :(得分:9)

根据你的规则,这应该有效:

if (preg_match('/^[a-z0-9]{6,10}$/', $user_name))

答案 1 :(得分:-1)

经过约3个小时的研究和排查,我找到了正确的解决方案。事实证明,订单非常重要:

(?=。{5})< ===字符串必须为5或更多

(?!。{11})< ===字符串不得超过10个字符

^ [a-z 0 -9] + $< ===匹配任何只有0到9的常用字母和数字的字符串

if (!preg_match('/(?=.{5})(?!.{11})^[a-z 0 -9]+$/', $user_Name)) {
            echo 'username is not valid</br>';
            echo $user_Name;
        }
        else {
            echo 'username is valid</br>';
            echo $user_Name;
        }