如何使用php验证用户名?

far*_*oft 0 php regex validation username

如何使用PHP验证用户名?

在我的注册页面上,我需要验证用户名.

可接受(例如)仅字母,数字和_:

  • 阿纳斯票价
  • anasfares
  • AnAsFaReS
  • anas45票价
  • 35 arts arty
  • anas_fares

不可接受(例如):

  • anas.fares
  • anas #fares
  • 57fares
  • @ ^*12sf
  • 阿纳斯 - 票价

mea*_*gar 7

使用正则表达式来限制字符串可能包含的字符.在PHP中,preg_match如果模式不匹配则返回0 ,否则返回非零:

if (!preg_match('/^[ \w]+$/', $username)) {
  $error = "Invalid username";
}
Run Code Online (Sandbox Code Playgroud)

您还应该使用其中一个strlen或修改后的正则表达式强制执行最小/最大长度.这个只匹配长度为2到10个字符的字符串:

/^[ \w]{2,10}$/
Run Code Online (Sandbox Code Playgroud)