2012-02-06 59 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