2010-11-05 107 views
0

如何使用PHP驗證用戶名?如何使用php驗證用戶名?

在我的註冊頁面上,我需要驗證用戶名。

可接受的(例如)只有字母,數字和_:

  • 阿納斯票價
  • anasfares
  • AnAsFaReS
  • anas45票價
  • 35fares附庸風雅
  • anas_fares

不可接受的(例如):

  • anas.fares
  • 阿納斯#fares
  • 57fares
  • @^* 12sf
  • 阿納斯 - 票價
+0

爲什麼您的用戶名如此限制? – Welbog 2010-11-05 19:14:30

回答

7

使用一個正則表達式來限制字符串可能包含的字符。在PHP中,preg_match將返回0,如果該圖案不匹配,否則返回非零值:

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

還應該執行的最小/最大長度與任一strlen或修飾的正則表達式。這個只能匹配長度爲2到10個字符的字符串:

/^[ \w]{2,10}$/ 
+0

嘿,只有號碼? – 2010-11-05 19:15:28

+0

你需要添加'a-zA-Z'到那個正則表達式中,否則你只是匹配數字,空格和'-' ... – ircmaxell 2010-11-05 19:16:25

+1

這些補丁又一次盲注了。這些旅鼠往往盲目上升! – 2010-11-05 19:16:38