2012-02-06 61 views
0

我試圖讓我的正則表達式,不允許下面的話:正則表達式的用戶名笨路線

  • 創建
  • 論壇

我也想只允許1下劃線..

這是我到目前爲止有:

$route['(^[A-Za-z][A-Za-z0-9]{3,20}+$)'] = "users/index"; 

回答

2

把你不想在這之前匹配的路由(將在第一個匹配的路由停止):

$route['create(/.*)?'] = "create$1"; 
$route['forum(/.*)?'] = "forum$1"; 
$route['(^[A-Za-z][A-Za-z0-9]{3,20}+$)'] = "users/index"; 
+0

是的,我試圖避免必須爲每個頁面創建一個路由......因爲它被認爲應該避免,如果可能的話...... – jason 2012-02-07 05:14:56

+0

正則表達式是那些有趣的情況下,我們得到相當的目標註意到「弄明白了「。我可能會花上一整天的時間來避免放棄。哈哈。很高興幫助。 – landons 2012-02-07 05:16:31

1

嗯,這是最接近我可以得到:

^((?:(?!create|Forum)[A-Za-z0-9]){3,20})$ 

Example

要現在離開。祝你好運!

+0

感謝您將該網址分享給正則表達式網站...希望我在之前瞭解該網站...它有助於測試正則表達式的 – jason 2012-02-07 05:15:46

+0

當然。其實,看看我的個人資料,你會發現更方便的網址:) – 2012-02-07 05:31:37